Параметр метки Matplotlib vline не отображается

Я хочу пометить свои вертикальные линии matplotlib .команда vline, но по какой-то причине параметр label ничего не делает/ничего не показывает на конечном участке. Кто-нибудь знает, как заставить лейбл показать себя?

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

все работает отдельно от метку.

большое спасибо,

L

3 ответов


ключевое слово label отображается в легенде. Вам нужно создать legend явно, чтобы увидеть метку на графике:

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

для текста рядом с вашей строкой, как в этом пример использование:

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()

но я не знаю, если это то, что вы ожидаете