Nice programing

Pandas에서 시계열도에 수직선을 어떻게 그리나요?

nicepro 2020. 11. 4. 08:24
반응형

Pandas에서 시계열도에 수직선을 어떻게 그리나요?


Pandas 시리즈 플롯에서 수직선 (vlines)을 어떻게 플로팅합니까? 나는 팬더를 사용하여 롤링 수단 등을 플롯하고 있으며 중요한 위치를 수직선으로 표시하고 싶습니다. 이것을 달성하기 위해 vlines 또는 유사한 것을 사용할 수 있습니까? 그렇다면 누군가가 예를 들어 줄 수 있습니까? 이 경우 x 축은 날짜-시간입니다.


plt.axvline(x_position)

그것은 서식 옵션 표준 플롯을한다 ( linestlye, color, 요법)

(문서)

axes개체에 대한 참조가있는 경우 :

ax.axvline(x, color='k', linestyle='--')

시간 축이 있고 Pandas를 pd로 가져온 경우 다음을 사용할 수 있습니다.

ax.axvline(pd.to_datetime('2015-11-01'), color='r', linestyle='--', lw=2)

여러 줄의 경우 :

xposition = [pd.to_datetime('2010-01-01'), pd.to_datetime('2015-12-31')]
for xc in xposition:
    ax.axvline(x=xc, color='k', linestyle='-')

DataFrame 플롯 함수는 AxesSubplot 객체를 반환하며 여기에 원하는만큼 줄을 추가 할 수 있습니다. 아래 코드 샘플을 살펴보세요.

%matplotlib inline

import pandas as pd

df = pd.DataFrame(index=pd.date_range("2019-07-01", "2019-07-31"))
df["y"] = pd.np.logspace(0, 1, num=len(df))

ax = df.plot()
# you can add here as many lines as you want
ax.axhline(6, color="red", linestyle="--")
ax.axvline("2019-07-24", color="red", linestyle="--")

여기에 이미지 설명 입력

참고 URL : https://stackoverflow.com/questions/19213789/how-do-you-plot-a-vertical-line-on-a-time-series-plot-in-pandas

반응형