【问题标题】:matplotlib multiple plots in one figure strange happenmatplotlib 一个图中的多个情节奇怪的发生
【发布时间】:2015-04-22 18:07:37
【问题描述】:

我试图在一个图中绘制分布 pdf 和 cdf。如果一起绘制,则 pdf 和 cdf 不匹配。如果单独绘制,它们将匹配。为什么?您可以从同一个方程中看到两条绿色曲线,但显示的形状不同...

 def MBdist(n,loct,scale):
        data = maxwell.rvs(loc=loct, scale=scale, size=n)
        params = maxwell.fit(data, floc=0)
        return data, params



if __name__ == '__main__':
    data,para=MBdist(10000,0,0.5)
    plt.subplot(211)
    plt.hist(data, bins=20, normed=True)
    x = np.linspace(0, 5, 20)
    print x

    plt.plot(x, maxwell.pdf(x, *para),'r',maxwell.cdf(x, *para), 'g')
    plt.subplot(212)
    plt.plot(x, maxwell.cdf(x, *para), 'g')
    plt.show()

【问题讨论】:

  • 你也没有传入一个'x'来与第二行一起使用,所以它是针对索引绘制的。
  • @tcaswell:您可能应该只添加您的评论作为答案(尤其是因为它似乎是正确的)。

标签: matplotlib scipy distribution cdf


【解决方案1】:

您也没有传入“x”来与第二行一起使用,因此它是针对索引绘制的。应该是

plt.plot(x, maxwell.pdf(x, *para),'r',x, maxwell.cdf(x, *para), 'g')

这个接口是一个特别神奇的 arg 解析,它是从 MATLAB 中模仿出来的。我会建议

fig, ax = plt.subplots()
ax.plot(x, maxwell.pdf(x, *para),'r')
ax.plot(x, maxwell.cdf(x, *para), 'g')

虽然更冗长的行更清晰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-16
    • 2013-02-27
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 2022-01-21
    相关资源
    最近更新 更多