我使用matplotlib库制作了一个图,它描绘了两个直方图和平均线。我认为如果我添加图例,图会更清晰。我想创建一个图例,说明这两条平均线的确切值。下面我附上我的代码和我生成的图以及显示我想要实现的效果的图片(这是我使用PowerPoint添加图例的图片):
def setPlot(data, mycolor, myalpha, mylinestyle):
plt.style.use('ggplot')
plt.rc('xtick',labelsize=12)
plt.rc('ytick',labelsize=12)
plt.xlabel("Incomes")
plt.hist(data, bins=50, color= mycolor, alpha=myalpha)
plt.axvline(numpy.mean(data), color=mycolor, linestyle=mylinestyle, linewidth=1.5)
plt.show()
字符串
x1c 0d1x的数据
的
如有任何建议,我将不胜感激。
- 解决方案--
感谢wwii和tom的建议,我能够实现我的想法的解决方案。我试图将这两个建议连接起来,这是我得到的:
def setPlot(data, mycolor, myalpha, mylinestyle):
plt.style.use('ggplot')
plt.rc('xtick',labelsize=12)
plt.rc('ytick',labelsize=12)
plt.xlabel("Incomes")
plt.hist(data, bins=50, color= mycolor, alpha=myalpha)
plt.axvline(numpy.mean(data), color=mycolor, linestyle=mylinestyle, linewidth=1.5, label=str(numpy.mean(data)))
plt.legend(loc='upper right')
plt.show()
型
我生成的图的例子是:
非常感谢您的帮助!
1条答案
按热度按时间ig9co6j11#
你只需要给予
axvline
一个label
,然后在绘制两个直方图后调用plt.legend
。像这样:字符串
的数据