Matlab histcounts 在 x 轴上显示值

Matlab histcounts show values on x-axis

我想绘制直方图,使用plot(histcounts(X,edges))。 它工作正常,除了在 x 轴上,显示的是 bin 的编号,而不是 bin 所指的实际值。

为了更清楚地说明我的意思,我附加了两个图。两者都显示相同的数据,但对于第一个,我使用了 plot(histcounts(X,edges)),对于第二个,我使用了 hist(X,edges)。我使用 hist 的绘图以我希望的方式显示 x 轴,其中包含 bin 引用的值。我希望 plot(histcount(...) 具有相同的 x 轴,而不是显示 bin 编号。

直方图使用 plot(histcounts):

直方图使用 hist

如何更改 x 轴以显示此值而不是 bin 编号?

非常感谢!

如果你有边,你可以使用

得到中心
centres = edges(1:end-1)+ diff(edges)/2;

那么剧情可以

plot(centres, histcounts(X,edges));

如果您不需要指定边,您可以使用

获取它们
[h_counts, edges] = histcounts(X);