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

여러 개의 Matplotlib 서브플롯을 하나의 그림으로 결합하는 방법

여러 개의 matplotlib 축(axes) 서브플롯을 하나의 그림(figure)으로 결합하려면 subplots() 메서드를 사용하면 됩니다. 이 메서드에 nrows=2와 같이 행 수를 지정하면, 하나의 figure 안에 여러 개의 축이 자동으로 배치됩니다.

구현 단계

  • 그림 크기를 설정하고, 서브플롯 사이 및 주변 여백(padding)을 조정합니다.
  • numpy를 사용하여 x, y1, y2 데이터 포인트를 생성합니다.
  • figure와 서브플롯 집합을 생성합니다.
  • plot() 메서드를 사용해 x에 대한 y1y2 데이터를 각각의 축에 그립니다.
  • 그림을 화면에 표시하려면 show() 메서드를 사용합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-10, 10, 100)

y1 = np.sin(x)
y2 = np.cos(x)

fig, axes = plt.subplots(nrows=2)

line1, = axes[0].plot(x, y1, color='red')
line2, = axes[1].plot(x, y2, color='green')

plt.show()

실행 결과

위 코드를 실행하면 하나의 그림 안에 두 개의 세로로 나열된 서브플롯이 생성되며, 첫 번째 축에는 빨간색 사인(sin) 곡선이, 두 번째 축에는 초록색 코사인(cos) 곡선이 표시됩니다.

여러 개의 Matplotlib 서브플롯을 하나의 그림으로 결합하는 방법