如何更改 matlab 直方图中的刻度数并更改轴号字体大小

How do I change the number of ticks in matlab histogram and change axis numbers font size

我只要

我试过设置不同的轴 property(参考下面脚本中注释的代码行)但是 none 它们会影响图表。

%Code to generate the diceSum

DiceSum = myDiceRoller(1,500);
figure(1)

%Create the histogram

hist(DiceSum,NDice*6)

%Label the axes

xlabel('Value of Roll','FontSize',16)

ylabel('Number of Times Rolled','FontSize',16)

%set(gca,'X','FontSize',14)

%set(gca,'YTickLabel',{'0' ;'100'})

%set('xtick','FontSize',14)

%set('Xlim',[0,6], 'Ylim',[0 ,100])

%set('xtick',[0:1:6],'ytick',[0:20:100])

%set(gca,'XLim',[0 6])

%set(gca,'XTick',[0 1 2 3 4 5 6])

%set(gca,'XTickLabel',str2mat{'0','1','2','3','4','5','6')

%xlim([0 6])

这是我用来创建数据和直方图的单独函数

function [DiceSum] = myDiceRoller(NDice,NRolls)

DiceSum = zeros(1,NRolls);%

for i = 1:NRolls;% on roll 1...roll 2

    for j = 1:NDice;% on roll 1 , roll #s of die

        n = ceil(rand(1)*6);

        DiceSum(1,i) = DiceSum(1,i) + n;

    end

    hist(DiceSum,NDice*6)

    xlabel('Value of Roll')

    ylabel('Number of Times Rolled')

end

要让 x-axis 显示 1 2 3 4 5 6,您必须有两种可能性:

  • 改变调用hist函数的方式如下:

    % hist(DiceSum,1:NDice*6)

    hist(DiceSum,1:6)

这是因为在用2个参数调用hist时,第二个应该是一个向量,在那种情况下,hist returns的分布中心由 x 指定的 length(x) 个 bin 中的 Y(x 第二个参数)- R2012b hist help

  • 直接设置x轴xtick如下:

    set(gca,'xtick',[0:6])

要让 y-axis 显示 0 20 40 60 80 100,您必须按如下方式设置 y 轴 ytick

 set(gca,'ytick',[0:20:100])

要将 xy 轴刻度字体大小更改为 14,您必须按如下方式设置轴 fontsize

set(gca,'FontSize',14)

希望这对您有所帮助。