Учитывая график сигнала во временном представлении, как нарисовать линии, отмечающие соответствующий временной индекс?
В частности, учитывая график сигнала с индексом времени в диапазоне от 0 до 2,6 с, я хочу нарисовать вертикальные красные линии, указывающие соответствующий индекс времени для списка [0.22058956, 0.33088437, 2.20589566]
, как я могу это сделать?
источник
ax
это объект, то,ax.axvline(x=0.220589956)
кажется, работает для меня.plt.plot((x1,x2),(y1,y2))
Для нескольких строк
источник
label='label'
делает работу , но вам нужно позвонитьplt.legend([options])
позжеЕсли кто-то хочет добавить a
legend
и / илиcolors
к некоторым вертикальным линиям, используйте это:Полученные результаты:
источник
Вызов axvline в цикле, как предлагали другие, работает, но может быть неудобным, потому что
Вместо этого вы можете использовать следующие вспомогательные функции, которые создают все линии как один объект графика:
источник
В дополнение к
plt.axvline
иplt.plot((x1, x2), (y1, y2))
ИЛИ,plt.plot([x1, x2], [y1, y2])
как указано в ответах выше, можно также использоватьпостроить вертикальную линию на
x_pos
охватывающей отy1
до ,y2
где значенияy1
иy2
в абсолютных координатах данных.источник