반응형
[python] matplotlib 그래프 여러 개 그리는 방법
matplotlib 를 활용하여 한 번에 그래프를 여러 개 그리는 방법을 알아보자.
1. 라이브러리 import
import matplotlib.pyplot as plt # matplotlib
import numpy as np # 예시로 사용할거라 import
파이썬에서 matplotlib를 import 해준다.
2. sub plot 의 size 정하기
fig, axes = plt.subplots(2, 1)
#2x1 = 총 2개의 서브 피규어 생성
subplot 의 size를 (2, 1) 로 지정한 것은 두 개가 세로로 놓여져 있는 그래프 두 개를 동시에 그리겠다는 것이다.
만약 (1, 2) 라고 썼다면 가로로 놓여져 있는 그래프가 그려졌을 것이다.
위의 사진을 보면 이해가 바로 될 것이다.
(2, 1)에서 그래프는 (0, 0), (1, 0) 좌표로 지정할 수 있다.
3. 그래프 그리기
fig, axes = plt.subplots(2, 1)
x = [i for i in range(20)] # 0 ~ 19 까지의 수
y = [np.random.randint(1, 10) for i in range(20)]
# 1부터 10 사이에 랜덤한 수 20개
axes[0].plot(x, y) # 선 그래프
x = range(20)
y = [np.random.randint(1, 10) for i in range(20)]
axes[1].bar(x, y) # 바 그래프
plt.tight_layout()
plt.show()
이렇게 2X1 그래프가 잘 그려졌음을 확인할 수 있다.
x 값은 0부터 19 까지의 리스트이고,
y 값은 리스트 컴프리헨션을 이용하여 1부터 10 사이의 임의의 값 20개를 리스트로 만든 것이다.
만약 1X2 라고 썼다면?
이렇게 가로로 2개의 그래프가 나오는 것을 확인할 수 있다.
2 X 2 로 쓴다면? 총 4개의 그래프가 나와야 한다.
fig, axes = plt.subplots(2, 2)
x = [i for i in range(20)]
y = [np.random.randint(1, 10) for i in range(20)]
axes[0][0].plot(x, y)
x = range(20)
y = [np.random.randint(1, 10) for i in range(20)]
axes[0][1].bar(x, y)
x = range(20)
y = [np.random.randint(1, 10) for i in range(20)]
axes[1][0].bar(x, y)
x = range(20)
y = [np.random.randint(1, 10) for i in range(20)]
axes[1][1].scatter(x, y)
plt.tight_layout()
plt.show()
이 경우 앞에서와 같이 axes가 1차원이 아니고 2차원이기 때문에
그래프가 그려질 좌표를 지정할 때, 2차원으로 지정해주어야 제대로 그래프가 나오는 것을 확인할 수 있다.
총 정리
import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(2, 2)
x = [i for i in range(20)]
y = [np.random.randint(1, 10) for i in range(20)]
axes[0][0].plot(x, y)
x = range(20)
y = [np.random.randint(1, 10) for i in range(20)]
axes[0][1].bar(x, y)
x = range(20)
y = [np.random.randint(1, 10) for i in range(20)]
axes[1][0].bar(x, y)
x = range(20)
y = [np.random.randint(1, 10) for i in range(20)]
axes[1][1].scatter(x, y)
plt.tight_layout()
plt.show()
반응형
'self.python' 카테고리의 다른 글
[python] matplot 그래프 그리기 유용한 꿀팁! - (2) (0) | 2022.06.13 |
---|---|
[python] matplot 그래프 그리기 유용한 꿀팁! - (1) (0) | 2022.06.12 |
[python] 데이터프레임 값에 apply 로 함수 적용하는 다양한 방법 (0) | 2022.06.01 |
[python] 0 으로 채워진 데이터 프레임 만들기! - zeros (0) | 2022.05.31 |
[python] 데이터프레임 조건에 맞는 행 index 뽑아오기 - index (0) | 2022.05.30 |
댓글