Pandas를 활용하면 데이터프레임(DataFrame)을 생성하고 인덱스를 datetime 타입으로 손쉽게 설정할 수 있습니다. 여기에 gcf().autofmt_xdate() 함수를 함께 사용하면 X축에 표시되는 날짜 라벨이 겹치지 않도록 자동으로 기울기와 간격을 조정해 줍니다.
구현 단계
날짜 문자열 리스트를 만들고
pd.to_datetime()을 사용하여 datetime 타입으로 변환합니다.플롯에 사용할 데이터를 준비합니다. 예:
data = [1, 2, 3]DataFrame()객체를 생성합니다.생성한 데이터프레임의 'value' 컬럼에 2단계에서 준비한 데이터를 할당합니다.
1단계에서 변환한 date_time 값을 데이터프레임의 인덱스로 설정합니다.
plt.plot(DF)를 호출하여 데이터프레임을 플롯합니다.현재 그림(figure) 객체를 가져온 뒤
autofmt_xdate()를 적용하여 X축 날짜 형식을 자동으로 정렬합니다.plt.show()메서드를 호출하여 최종 그래프를 화면에 출력합니다.
예제 코드
import pandas as pd import matplotlib.pyplot as plt date_time = ["2021-01-01", "2021-01-02", "2021-01-03"] date_time = pd.to_datetime(date_time) data = [1, 2, 3] DF = pd.DataFrame() DF['value'] = data DF = DF.set_index(date_time) plt.plot(DF) plt.gcf().autofmt_xdate() plt.show()
실행 결과
위 코드를 실행하면 X축에 2021년 1월 1일부터 3일까지의 날짜가 겹치지 않고 깔끔하게 표시된 선 그래프가 나타납니다.
