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

Matplotlib에서 여러 개의 X축 또는 Y축을 사용해 그래프 그리는 방법

Matplotlib에서 하나의 그래프에 여러 개의 X축 또는 Y축을 표시하려면 twinx() 또는 twiny() 메서드를 활용하면 됩니다. 이 방법을 사용하면 축 하나를 공유하면서 나머지 축은 독립적으로 설정한 보조 축을 만들 수 있어, 단위나 스케일이 다른 두 데이터를 한 화면에서 비교하기에 매우 유용합니다.

구현 단계

  • subplots() 메서드를 사용하여 figure와 subplot(축 객체)을 생성합니다.

  • [1, 2, 3, 4, 5] 데이터를 왼쪽 Y축 스케일에 빨간색으로 플롯합니다.

  • twinx() 메서드를 사용하여 X축을 공유하고 Y축만 독립적인 쌍둥이 축(ax2)을 만듭니다.

  • [11, 12, 31, 41, 15] 데이터를 오른쪽 Y축 스케일에 파란색으로 플롯합니다.

  • tight_layout() 메서드를 사용하여 subplot 주변과 사이의 여백을 자동으로 조정합니다.

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

예제 코드

import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, ax1 = plt.subplots()
ax1.plot([1, 2, 3, 4, 5], color='red')
ax2 = ax1.twinx()
ax2.plot([11, 12, 31, 41, 15], color='blue')
fig.tight_layout()
plt.show()

실행 결과

Matplotlib에서 여러 개의 X축 또는 Y축을 사용해 그래프 그리는 방법

참고 사항

X축을 공유하고 위쪽에 독립적인 X축을 추가하고 싶다면 twiny() 메서드를 사용하면 됩니다. 사용법은 twinx()와 동일하며, 아래 코드처럼 적용할 수 있습니다.

ax2 = ax1.twiny()  # X축을 공유하는 대신, 위쪽에 새로운 X축 생성

이처럼 twinx()와 twiny()를 조합하면 온도와 습도, 매출과 판매량처럼 서로 다른 단위를 가진 데이터를 하나의 차트에서 직관적으로 비교할 수 있습니다.