在 Matlab 中绘制分布图

plot the distribution in Matlab

我想绘制以下数据的分布图。但是,我不想要它的直方图。我附上了一张图。我只有一个红色的。请你帮助我好吗?谢谢

终于想要这样的图了:

Hsamp=normrnd(0,5,100)
g = histogram(Hsamp)

要将直方图绘制为一条线,您可以通过从直方图对象 属性 中检索 bin 计数和 bin 边缘,g:

Bin 计数 → g.BinCounts
bin 边缘 → g.BinEdges
容器宽度 → g.BinWidth

为了找到 bin 中心,我们可以从秒边开始获取所有边并减去 bin 宽度的一半。检索 bin 中心和 bin 计数后,plot() 函数可用于绘制值相互对比以生成 curve/line 图形。另一种方法是使用 histcounts() 函数,但过程非常相似。这个直方图对象中的所有属性都可以在:MATLAB Documentation: Histogram Plot.

中看到

Hsamp = normrnd(0,5,100);
subplot(1,2,1); g = histogram(Hsamp);
xlabel("Bin Centres"); ylabel("Bin Counts");
Bin_Counts = g.BinCounts;
Bin_Width = g.BinWidth;
Bin_Centres = g.BinEdges(2:end) - Bin_Width;

subplot(1,2,2); plot(Bin_Centres,Bin_Counts);
xlabel("Bin Centres"); ylabel("Bin Counts");

扩展:装箱基础