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 중국어 웹사이트의 기타 관련 기사를 참조하세요!