본문 바로가기
Python

[Python] matplotlib plot 차트 축 시간 간격 조절하기

by daewooki 2022. 2. 8.
반응형

데이터프레임 일부

데이터프레임을 시간 컬럼 기준으로 plot을 그리면 아래와 같이 띄엄띄엄 그려지게 된다. 


예시 코드

subway_df = subway_df.sort_values('date_column', ascending=True)
plt.plot(subway_df['date_column'], subway_df['cnt'], label='subway')

bus_df = bus_df.sort_values('date_column', ascending=True)
plt.plot(bus_df['date_column'], bus_df['cnt'], label='bus')

plt.xlabel('date')
plt.ylabel('count')
plt.legend(loc=2)
plt.xticks(rotation=45)
plt.show()

 

 

이 때, matplotlib의 dates 함수를 이용하여 x축 간격을 조절할 수 있다.

시간, 분, 일, 월 단위로 조절이 가능하다.(date 타입이 아닌 datetime일 경우에만)

 

수정 코드

subway_df = subway_df.sort_values('date_column', ascending=True)
plt.plot(subway_df['date_column'], subway_df['cnt'], label='subway')

bus_df = bus_df.sort_values('date_column', ascending=True)
plt.plot(bus_df['date_column'], bus_df['cnt'], label='bus')

plt.xlabel('date')
plt.ylabel('count')
plt.legend(loc=2)
plt.xticks(rotation=45)

# 추가 #
ax = plt.gca()
ax.xaxis.set_major_locator(dates.MonthLocator())
plt.show()

 

만약, datetime 컬럼일 경우 ax.xaxis.set_major_locator(dates.MinuteLocator(interval=2)) 와 같이 dates함수의 MinuteLocator, HourLocator 등을 사용하여 조절해줄 수 있다.

반응형

댓글