Matplotlib:用直方图数据绘制曲线
Matplotlib: plotting curves with histogram data
目前在一个直方图中有 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 确实给了我想要的图,但实际上我建议为此使用 seaborn
,因为该模块有一个命令 distplot
,它绘制直方图和密度图同一时间。
此处给出了使用 seaborn 的示例:http://nbviewer.ipython.org/github/mwaskom/seaborn/blob/master/examples/plotting_distributions.ipynb
目前在一个直方图中有 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 确实给了我想要的图,但实际上我建议为此使用 seaborn
,因为该模块有一个命令 distplot
,它绘制直方图和密度图同一时间。
此处给出了使用 seaborn 的示例:http://nbviewer.ipython.org/github/mwaskom/seaborn/blob/master/examples/plotting_distributions.ipynb