如何绘制具有特定 x 值的累积图?

How can I plot cumulative plots with specific x values?

我试图找出如何绘制具有特定 x 值的累积分布函数 (cdf) 但没有成功。

例如,如果数据集是:

x = [2.50 5.21 7.67 8.43 9.15 11.47 14.59 21.45];
y = [0.20 0.09 0.15 0.13 0.17  0.04  0.7   0.15];  % (total 1)

当我使用 y = cdfplot(x).

时,图形形状肯定看起来不对

我还用 cumsum(y)x 绘制了图表以检查形状,看起来不错,但我想知道是否有任何代码可以绘制累积分布图。

这里有创建 "stairstep graphs" 的 stairs 功能,这应该正是您想要的,并结合了您的 cumsum(y) 想法。

请看下面的代码片段。我为某个间隔的开始和结束添加了两个额外的点,这里 [0 ... 25]。此外,您在 y 中的值加起来大于 1,因此我也修改了这些值。

x = [0 2.50 5.21 7.67 8.43 9.15 11.47 14.59 21.45 25];
y = [0 0.10 0.09 0.05 0.10 0.14  0.04  0.4   0.08  0];
stairs(x, cumsum(y));
xlim([-1 26]);
ylim([-0.2 1.2]);

这就是输出(Octave 5.1.0,但也使用 MATLAB Online 进行了测试):

希望对您有所帮助!