안녕하세요. JGP입니다.
이번 시간에는 matplotlib에서 다중 선 그래프를 그리는 방법에 대해 알아보겠습니다.
| 다중 선 그래프 그리기
위 처럼 생긴 다중 선 그래프를 그리려면 어떻게 해야할까요?
import matplotlib.pyplot as plt
# 예제 데이터 값
dates = [
'2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05',
'2021-01-06', '2021-01-07', '2021-01-08', '2021-01-09', '2021-01-10'
]
min_temperature = [20.7, 17.9, 18.8, 14.6, 15.8, 15.8, 15.8, 17.4, 21.8, 20.0]
max_temperature = [34.7, 28.9, 31.8, 25.6, 28.8, 21.8, 22.8, 28.4, 30.8, 32.0]
# 그래프 그리기
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12, 3))
ax.plot(dates, min_temperature, label="2021")
ax.plot(dates, max_temperature, label="2024")
ax.legend(loc = 'upper right')
plt.show()
위 코드를 입력하면 똑같은 그래프 결과 값을 얻을 수 있습니다.
그럼 위 코드를 하나씩 뜯어볼까요?
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(12, 3))
- nrows는 row(열)을 의미하므로 nrows를 2로 지정하면 세로로 두 개의 그래프가 만들어집니다.
- ncols는 column(행)을 의미하므로 ncols를 2로 지정하면 가로로 두 개의 그래프가 만들어집니다.
- figsize=(가로크기, 세로크기)는 그래프의 크기를 의미합니다.
ax.plot(dates, min_temperature, label="2021")
ax.plot(dates, max_temperature, label="2024")
- ax.plot(가로, 세로, label="레이블 명") 입니다.
- ax.plot을 두 번 입력하였으므로, 두 개의 선이 하나의 그래프에 나타나게 됩니다.
ax.legend(loc = 'upper right')
- 이전 단계에서 label을 입력한 경우, 위 코드를 입력해야 레이블명을 표시해줍니다.
- loc="위치"는 저 처럼 위치를 수동으로 오른쪽 위로 지정할 때만 입력해주시면 됩니다.
- 기본 위치는 오른쪽 아래입니다.
plt.show()
위에서 입력한 대로 계산하여 그래프를 출력해 줄 것입니다.