Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib으로 NumPy datetime64 시계열 데이터 플롯하기

Python에서 Matplotlib을 활용하면 NumPy의 datetime 객체를 기반으로 하는 시계열(time series) 데이터를 손쉽게 시각화할 수 있습니다. Matplotlib는 날짜·시간 데이터를 자동으로 인식하여 x축에 적절한 날짜 형식을 표시해 주기 때문에 별도의 변환 작업 없이도 깔끔한 시계열 그래프를 얻을 수 있습니다.

구현 단계

  • NumPy를 사용하여 x축(날짜·시간)과 y축(값) 데이터 포인트를 생성합니다.

  • 생성된 x, y 데이터를 plot() 메서드로 플롯합니다.

  • 그래프를 화면에 표시하려면 show() 메서드를 호출합니다.

예제 코드

import matplotlib.pyplot as plt
import datetime
import numpy as np
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.array([datetime.datetime(2021, 1, 1, i, 0) for i in range(24)])
y = np.random.randint(100, size=x.shape)
plt.plot(x, y)
plt.show()

코드 설명

위 예제에서는 2021년 1월 1일 하루 동안 0시부터 23시까지 총 24개의 시간대를 datetime.datetime 객체 리스트로 만들어 NumPy 배열(x)로 변환했습니다. y축 값은 np.random.randint를 통해 0~99 사이의 정수 24개를 무작위로 생성합니다. 마지막으로 plt.plot(x, y)를 호출하면 Matplotlib가 datetime 배열을 자동으로 처리하여 x축에 시간 레이블이 표시된 선 그래프가 완성됩니다.

실행 결과

Matplotlib으로 NumPy datetime64 시계열 데이터 플롯하기

실행하면 아래와 같이 x축에 날짜와 시간이 표시되고, y축에는 무작위로 생성된 값들이 이어진 시계열 선 그래프가 출력됩니다. 이 방식을 응용하면 실제 센서 데이터나 로그 데이터 등 다양한 시간 기반 데이터를 간편하게 시각화할 수 있습니다.