在Matlab中更改直方图的轴

时间:2011-12-05 09:42:22

标签: matlab matlab-figure

我想模拟表示几何分布的值。我使用下面的代码完成的情节似乎产生了正确的情节。但我希望x轴严重偏离位置,我也希望x轴编号为1,2,3等,而不是我现在收到的10,20,30等。我还想将Y轴绘制为对数刻度。我试图得到代码中给出的'X'图。

%Geometric Distribution%
N=100;%Number of simulation
P=0.1;
X=zeros(N,1);%simulation data
Ti=0;%Counter

for Ti=2:N
  U=rand(1);
  a=log10(U);
  b=log10(1-P);
  c=(a/b);
  d=1+round(c);
  X(Ti)=d;
  Ti=Ti+1;
end

t = 0:N-1;
hist(X);

2 个答案:

答案 0 :(得分:3)

hist(X,min(X):max(X))

enter image description here

答案 1 :(得分:2)

使用对数刻度绘制条形图很棘手。请参阅:How to plot hist with log scale,或使用此:

[n, xout] = hist(X,0:max(X));
bar(xout, n, 'barwidth', 1, 'basevalue', 1);
set(gca,'YScale','log')