Matplotlib vline label参数未显示

2024-05-26 11:10:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用matplotlib的.vline命令标记我的垂直线,但是由于某种原因,label参数在最后的绘图中什么也不做/显示。有人知道如何让标签显示出来吗?

plt.vlines(x=pah, ymin=0, ymax=0.6, colors='0.75', linestyles='dashed', label='PAHs')

除了标签,一切都正常。

非常感谢


Tags: 标记命令绘图参数matplotlibplt标签label
3条回答

label关键字显示在图例中。您需要显式地创建legend以查看绘图中的标签:

plt.vlines([1,2,3], 0, 1, label='test')
plt.legend()

对于与此example类似的行附近的文本,请使用:

vline_value = 3

fig, ax = plt.subplots(figsize=(10,10))
ax.axvline(x=vline_value, ymin=0, ymax=1) 
x_bounds = ax.get_xlim()
ax.annotate(s='vline_value', xy =(((vline_value-x_bounds[0])/(x_bounds[1]-x_bounds[0])),1.01), xycoords='axes fraction', verticalalignment='right', horizontalalignment='right bottom' , rotation = 270)
fig.savefig('example')

此外,如果需要,此短脚本还包含更多选项: https://pythonhosted.org/lineid_plot/#

这行得通

plt.plot(x,y)
plt.vlines(x=pah, ymin=0, ymax=0.6, colors='0.75', linestyles='dashed', label='PAHs')
plt.legend()

但我不知道这是不是你想要的

相关问题 更多 >