Matlab条形图中的XTicks与条形不对齐

时间:2018-09-28 15:23:58

标签: matlab histogram

我使用下面的代码创建了一个简单的条形图,并注意到Xtick不在与奇数位置相对应的条形下方居中。在偶数位置,它们是。

我玩过XTickLabelxticks,但似乎无法让所有XTick都位于其相应条的下方。如何在正确的位置获得这些酒吧?

hist(randi(5,1,100))
set(gca(), 'XTick', [1 2 3 4 5 ]);

1 个答案:

答案 0 :(得分:0)

这里的问题是hist函数,而不是刻度

>> [h,b]=hist(randi(5,1,100))
h =
   19    0   26    0   15    0    0   19    0   21
b =
   1.2000   1.6000   2.0000   2.4000   2.8000   3.2000   3.6000   4.0000   4.4000   4.8000

如您所见,它将在最小值和最大值之间产生10个等距的bin,其中有5个为空。相反,您可以执行以下操作:

>> [h,b]=hist(randi(5,1,100),1:5)
h =
   16   21   18   24   21
b =
   1   2   3   4   5

第二个参数指示垃圾箱中心。如果您不理会输出参数,则会绘制一个条形图,其条形图以数据中5个整数为中心。

但是hist已过时,您实际上应该使用histogram。它将(几乎)总是做正确的事。