在 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");
扩展:装箱基础
我想绘制以下数据的分布图。但是,我不想要它的直方图。我附上了一张图。我只有一个红色的。请你帮助我好吗?谢谢
终于想要这样的图了:
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");