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

파이썬 Matplotlib로 두 개의 그래프를 나란히 그리는 방법

Matplotlib에서 subplot(row, col, index) 메서드를 사용하면 하나의 figure(그림 영역)를 row × col 개수만큼 분할하고, 각 위치(index)에 원하는 그래프를 배치할 수 있습니다. 이번 글에서는 하나의 figure 안에 두 개의 그래프를 좌우로 나란히 배치하는 방법을 단계별로 살펴보겠습니다.

구현 단계

  • numpy를 사용해 x, y1, y2 데이터 포인트를 생성합니다.

  • subplot() 메서드에 nrows = 1, ncols = 2, index = 1을 지정하여 현재 figure에 첫 번째 서브플롯을 추가합니다.

  • plot() 메서드로 x와 y1 데이터를 사용해 선 그래프를 그립니다.

  • plt.title(), plt.xlabel(), plt.ylabel() 메서드를 사용해 첫 번째 그래프의 제목과 X축, Y축 레이블을 설정합니다.

  • nrows = 1, ncols = 2, index = 2로 두 번째 서브플롯을 추가합니다.

  • plot() 메서드로 x와 y2 데이터를 사용해 선 그래프를 그립니다.

  • 두 번째 그래프의 제목과 X축, Y축 레이블을 설정합니다.

  • plt.show() 메서드를 호출하여 완성된 figure를 화면에 표시합니다.

예제 코드

from matplotlib import pyplot as plt
import numpy as np

xPoints = np.array([2, 4, 6, 8, 10, 12, 14, 16, 18, 20])
y1Points = np.array([12, 14, 16, 18, 10, 12, 14, 16, 18, 120])
y2Points = np.array([12, 7, 6, 5, 4, 3, 2, 2, 1, 12])

plt.subplot(1, 2, 1) # 1행 2열 중 인덱스 1
plt.plot(xPoints, y1Points)
plt.title("My first plot!")
plt.xlabel('X-axis ')
plt.ylabel('Y-axis ')

plt.subplot(1, 2, 2) # 인덱스 2
plt.plot(xPoints, y2Points)
plt.title("My second plot!")
plt.xlabel('X-axis ')
plt.ylabel('Y-axis ')

plt.show()

실행 결과

위 코드를 실행하면 하나의 figure 안에 두 개의 그래프가 좌우로 나란히 배치되어 출력됩니다. 왼쪽에는 x와 y1 데이터의 선 그래프가, 오른쪽에는 x와 y2 데이터의 선 그래프가 각각 표시됩니다.

파이썬 Matplotlib로 두 개의 그래프를 나란히 그리는 방법