如何在 MATLAB 中创建频率直方图?

How to create a frequency histogram in MATLAB?

我正在尝试将我的数据绘制成直方图。我有 8 个范围,频率分别为 6、12、17、21、28、25、19 和 15。但是,如果我将这些值插入数组并 运行 histogram 命令,我会得到一个图像,其中垂直条 运行 直通顶部和大量白色 space之间。

v = [6 12 17 21 28 25 19 15]
histogram(v)

如果我创建一个 bar 图表,它工作正常,但我找不到删除条形之间的白色 space 的方法。如何创建以频率为 y 轴并在 x 轴上标记每个范围的直方图?

使用 BarWidth property of bar 更改分隔。设置为1表示不分离。

bar(v,'BarWidth',1);

或者,您可以使用 Style 参数将样式从 grouped 更改为使用 hist 的直方图格式。即

bar(v,'hist');

对于给定的数据,上述两种方法都给出: