Pandas 라인 플롯의 X축에 날짜를 표시하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-31 10:04:02
원래의
159명이 탐색했습니다.

How to Display Dates on the X-Axis of a Pandas Line Plot?

Pandas Dataframe 선 그래프가 x축에 날짜 표시

x축에 날짜/시간 값이 있는 Pandas Dataframe의 선 그래프를 생성할 때, Pandas와 matplotlib 날짜/시간 처리 간의 호환성을 고려하는 것이 중요합니다. 기본적으로 Pandas와 matplotlib는 서로 다른 날짜/시간 형식을 사용하므로 축 형식 지정 문제가 발생할 수 있습니다.

문제 배경:

코드 조각에서 이 문제를 보여줍니다. pd 사용 .to_datetime을 사용하여 'date' 열을 datetime 객체로 변환하고 이를 인덱스로 설정하면 Pandas datetime 축이 생성됩니다. 그러나 DateFormatter를 이 축에 직접 추가하면 예상 날짜 형식이 생성되지 않습니다.

Ursache:

Pandas가 자체 날짜/시간 형식을 사용하기 때문에 불일치가 발생합니다. matplotlib에서 사용하는 것과 다릅니다. 이러한 형식을 혼합하려고 하면 예상치 못한 결과가 발생할 수 있습니다.

해결책:

이러한 비호환성을 해결하려면 다음 두 가지 옵션이 있습니다.

1. Pandas에서 x축 호환성을 활성화합니다.

데이터 프레임을 그릴 때 x_compat=True를 추가합니다. 이는 Pandas가 x축에 matplotlib의 날짜/시간 형식을 사용하도록 지시합니다.

df.plot(x_compat=True)
로그인 후 복사

2. 날짜/시간 형식 지정에 matplotlib를 직접 사용하세요.

Pandas에 내장된 플로팅 기능을 사용하는 대신 matplotlib를 직접 사용하여 플롯을 생성할 수 있습니다. 이를 통해 matplotlib의 모든 날짜/시간 형식 지정 옵션을 사용할 수 있습니다.

plt.plot(df['date'], df['ratio1'])
로그인 후 복사

matplotlib의 날짜 모듈에서 DateFormatter를 사용하면 원하는 날짜 형식을 얻을 수 있습니다.

ax = df.plot(x_compat=True, figsize=(6, 4))
ax.xaxis.set_major_locator(dates.DayLocator())
ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a'))
ax.invert_xaxis()
ax.get_figure().autofmt_xdate(rotation=0, ha="center")
로그인 후 복사

이를 활용하여 방법을 사용하면 선 그래프의 x축에 날짜가 올바르게 표시되어 Pandas와 matplotlib 날짜/시간 처리 간의 불일치를 방지할 수 있습니다.

위 내용은 Pandas 라인 플롯의 X축에 날짜를 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!