반응형
Matplotlib : Figure.add_subplot 함수로 여러 개의 서브플롯 만들기
데이터 시각화를 재미있게 만들어주는 파이썬의 Matplotlib 라이브러리. 이 강력한 시각화 도구를 통해 멋진 그래프를 만들 수 있습니다. 그중에서도 Figure.add_subplot 함수는 여러 개의 서브플롯을 손쉽게 추가할 수 있는 방법을 제공합니다. 이번 포스팅에서는 이 함수를 사용하여 다양한 데이터를 동시에 시각화하는 방법을 알아보겠습니다.
add_subplot 함수 소개
Figure.add_subplot 함수는 지정된 위치에 서브플롯을 추가하여 다중 플롯 영역을 생성합니다. 이를 통해 데이터의 다양한 측면을 한 번에 시각적으로 비교할 수 있습니다. 예를 들어 시간에 따른 온도 변화와 습도를 동시에 보여줄 수 있습니다!
함수 시그니처
Figure.add_subplot(nrows, ncols, index)
매개변수:
- nrows: 서브플롯의 행 수입니다.
- ncols: 서브플롯의 열 수입니다.
- index: 추가할 서브플롯의 위치입니다 (1부터 시작합니다).
반환 값:
- 생성된 서브플롯을 나타내는 Axes 객체를 반환합니다.
사용 예제
기본 예제
다음은 add_subplot 함수를 사용하여 두 개의 서브플롯을 만드는 기본 예제입니다.
import matplotlib.pyplot as plt
import numpy as np
# 데이터 생성
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 새로운 그림 생성
fig = plt.figure(figsize=(10, 5))
# 서브플롯 추가
ax1 = fig.add_subplot(1, 2, 1) # 1행 2열의 첫 번째 서브플롯
ax1.plot(x, y1, color='blue')
ax1.set_title('Sine Wave')
ax1.set_xlabel('x')
ax1.set_ylabel('sin(x)')
ax2 = fig.add_subplot(1, 2, 2) # 1행 2열의 두 번째 서브플롯
ax2.plot(x, y2, color='red')
ax2.set_title('Cosine Wave')
ax2.set_xlabel('x')
ax2.set_ylabel('cos(x)')
plt.tight_layout()
plt.show()
다양한 서브플롯 예제
3x1 배열을 사용해 여러 개의 서브플롯을 만드는 예제를 보겠습니다.
import matplotlib.pyplot as plt
import numpy as np
# 데이터 생성
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# 새로운 그림 생성
fig = plt.figure(figsize=(8, 12))
# 서브플롯 추가 1
ax1 = fig.add_subplot(3, 1, 1)
ax1.plot(x, y1, color='blue')
ax1.set_title('Sine Wave')
# 서브플롯 추가 2
ax2 = fig.add_subplot(3, 1, 2)
ax2.plot(x, y2, color='red')
ax2.set_title('Cosine Wave')
# 서브플롯 추가 3
ax3 = fig.add_subplot(3, 1, 3)
ax3.plot(x, y3, color='green')
ax3.set_ylim(-5, 5) # tan(x) 범위를 제한
ax3.set_title('Tangent Wave')
plt.tight_layout()
plt.show()
결론
Figure.add_subplot 함수는 데이터의 다양한 측면을 비교할 수 있는 유용한 도구입니다. 멋진 그래프를 손쉽게 만들면서 나만의 시각화 스킬을 발전시켜 보세요!
- 여러 개의 서브플롯을 사용하여 데이터의 비교와 시각화의 재미를 더해보세요!
- 지금바로 Figure.add_subplot 함수를 활용하여 나만의 데이터 스토리를 만들어 보세요!
반응형
'Python > matplotlib' 카테고리의 다른 글
matplotlib ValueError: Invalid font size 해결하기 (0) | 2024.11.04 |
---|---|
matplotlib OSError: [Errno 24] Too many open files 오류 해결하기 (0) | 2024.11.04 |
파이썬 matplotlib.backend_bases.FigureCanvasBase 함수 활용하기 (0) | 2024.11.04 |
파이썬 matplotlib.backends.backend_agg.FigureCanvasAgg 함수 활용하기 (0) | 2024.11.04 |
파이썬 matplotlib.axes.Axes.set_aspect 함수 활용하기 (3) | 2024.11.04 |