如何将历史拟合图中的Y轴从计数更改为百分比?(MATLAB)



我有下一张图:

h=历史拟合(myVec(;set(gca,'XLim',[-2 2](;ylim([0400](;集合(h(2(,"颜色","黑色"(;

%myVec还包含负值

如何将此绘图更改为以百分比而非计数的Y轴绘图?太感谢你了!

遗憾的是,默认情况下histfit没有该选项。相反,您可以组合histogramfitdistpdf来获得您想要的内容。

首先,用histogram绘制数据,并将其归一化为观察概率(与百分比相同(。将垃圾箱nbins的数量设置为您需要的任何数量。

nbins = 10; 
h = histogram(yourData, nbins, 'Normalization', 'Probability');
hold on

然后使用fitdist根据您的数据生成选择分布。这里我使用的是正态分布。

% yourData needs to be a column vector
pd = fitdist(yourData(:), 'Normal');

为每个点X生成此分布的Y值。将X设置为所需的任意值。然后将Y值归一化为Y值的总和(相当于转换为百分比(,并将其绘制在直方图的顶部。

x = -2:0.1:2;
y = pdf(pd, x);
y = y / sum( pdf(pd, x) );
plot(x, y, 'k--') % Plot distribution as a black dashed line

相关内容

  • 没有找到相关文章

最新更新