我只想要
x-axis
显示1 2 3 4 5 6 y-axis
显示0 20 40 60 80 100 我尝试过设置不同的轴property
(参见下面脚本中注释的代码行),但这些都不会影响图形。
%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
答案 0 :(得分:1)
要让x-axis
显示1 2 3 4 5 6
,您必须有两种可能性:
更改您调用hist
函数的方式,如下所示:
% hist(DiceSum,1:NDice*6)
hist(DiceSum,1:6)
这是因为在使用2个参数调用hist
时,第二个应该是一个向量,在这种情况下,hist
返回长度(x)区间中Y的分布由x指定的中心(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])
要将x
和y
轴刻度字体大小更改为14,您必须按如下方式设置轴fontsize
:
set(gca,'FontSize',14)
希望这有帮助。