반응형
질문
시간 표현으로 된 신호의 플롯이 주어졌을 때, 해당 시간 인덱스를 표시하는 선을 그릴 수 있는 방법이 있을까요?
구체적으로, 0부터 2.6(초)까지의 시간 인덱스를 가진 신호 플롯이 주어졌을 때, [0.22058956, 0.33088437, 2.20589566]
리스트에 대한 해당 시간 인덱스를 나타내는 수직 빨간색 선을 그리고 싶습니다. 어떻게 할 수 있을까요?
답변
플롯 창 전체를 덮을 세로 선을 추가하는 표준 방법은 plt.axvline
을 사용하는 것입니다.
import matplotlib.pyplot as plt
plt.axvline(x=0.22058956)
plt.axvline(x=0.33088437)
plt.axvline(x=2.20589566)
또는
xcoords = [0.22058956, 0.33088437, 2.20589566]
for xc in xcoords:
plt.axvline(x=xc)
다른 플롯 명령에서 사용 가능한 많은 키워드를 사용할 수 있습니다 (예: color
, linestyle
, linewidth
...). ymin
과 ymax
와 같은 키워드 인수를 축 좌표로 전달할 수 있습니다 (예: ymin=0.25
, ymax=0.75
는 플롯의 중간 절반을 덮을 것입니다). 수평선 (axhline
)과 사각형 (axvspan
)에 대응하는 함수도 있습니다.
반응형
댓글