【问题标题】:Matplotlib: plotting curves with histogram dataMatplotlib:用直方图数据绘制曲线
【发布时间】:2015-02-24 17:42:27
【问题描述】:

目前在一个直方图中有 3 组数据,但我需要为每组数据绘制一条曲线。目前通过函数绘制直方图:

def plot_histogram(xmin,xmax,title,xlabel,data,data1,data2):
    plt.xlim(xmin, xmax)
    plt.title(title)
    plt.xlabel(xlabel)
    plt.ylabel('Relative Frequency')
    bins=np.histogram(np.hstack((data,data1,data2)), bins=11)[1]
    plt.hist([data, data1, data2], bins, normed=1, alpha=0.5, color=['b', 'g', 'r'], label=['t', 'g-', 'g+'])
    plt.legend(loc='upper right')
    plt.show()

如何绘制符合每个直方图形状的曲线或直线?

【问题讨论】:

  • 您可能想看看核密度估计 (KDE)。在我看来pandas 是绘制KDEs 的最简单方法。
  • 我一直在研究 KDE,我发现这个资源应该会有所帮助 (nbviewer.ipython.org/github/mwaskom/seaborn/blob/master/…) 但不幸的是 seaborn 不会安装在我的计算机上。你还有其他指点吗?

标签: matplotlib line histogram curve


【解决方案1】:

使用 kde 确实给了我想要的图,但实际上我建议为此使用 seaborn,因为该模块有一个命令 distplot,它可以同时绘制直方图和密度图。

这里给出了使用 seaborn 的示例:http://nbviewer.ipython.org/github/mwaskom/seaborn/blob/master/examples/plotting_distributions.ipynb

【讨论】:

    猜你喜欢
    • 2021-03-25
    • 2012-02-07
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 2016-06-09
    相关资源
    最近更新 更多