Dado um gráfico de sinal na representação do tempo, como desenhar linhas marcando o índice de tempo correspondente?
Especificamente, dado um gráfico de sinal com índice de tempo variando de 0 a 2,6 (s), quero desenhar linhas vermelhas verticais indicando o índice de tempo correspondente para a lista [0.22058956, 0.33088437, 2.20589566]
, como posso fazer isso?
fonte
ax
é o objeto, entãoax.axvline(x=0.220589956)
parece funcionar para mim.plt.plot((x1,x2),(y1,y2))
Para várias linhas
fonte
label='label'
faz o trabalho, mas você precisa chamarplt.legend([options])
mais tardeSe alguém quiser adicionar um
legend
e / oucolors
algumas linhas verticais, use o seguinte:Resultados:
fonte
Chamar axvline em um loop, como outros sugeriram, funciona, mas pode ser inconveniente porque
Em vez disso, você pode usar as seguintes funções de conveniência que criam todas as linhas como um único objeto de plotagem:
fonte
Além do
plt.axvline
eplt.plot((x1, x2), (y1, y2))
OU,plt.plot([x1, x2], [y1, y2])
conforme fornecido nas respostas acima, também é possível usarpara traçar uma linha vertical em
x_pos
que mede a partiry1
dey2
onde os valoresy1
ey2
estão em coordenadas absolutas de dados.fonte