Matplotlib 이중 축 플롯 생성

Beginner

This tutorial is from open-source community. Access the source code

소개

이 튜토리얼은 데이터 시각화에 사용되는 Python 라이브러리인 Matplotlib 을 사용하여 간단한 플롯을 만드는 단계를 안내합니다. host_subplot 모듈을 사용하여 두 개의 y 축을 가진 플롯을 생성할 것입니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

필요한 모듈 가져오기

첫 번째 단계는 플롯에 필요한 모듈을 가져오는 것입니다. x 및 y 데이터를 생성하기 위해 numpy를 사용하고, 플롯을 생성하기 위해 matplotlib.pyplot을 사용하며, 두 번째 y 축을 생성하기 위해 mpl_toolkits.axes_grid1을 사용합니다.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import host_subplot

데이터 생성

다음으로, x 및 y 데이터를 생성해야 합니다. 이 예제에서는 사인파를 생성합니다.

xx = np.arange(0, 2*np.pi, 0.01)
yy = np.sin(xx)

플롯 생성

이제 host_subplot 함수를 사용하여 플롯을 생성할 수 있습니다. 이 함수는 두 개의 y 축을 가진 서브플롯을 생성합니다.

ax = host_subplot(111)
ax.plot(xx, yy)

두 번째 y 축 생성

두 번째 y 축을 생성하려면 twin 함수를 사용하여 새로운 축 객체를 생성해야 합니다.

ax2 = ax.twin()

두 번째 y 축의 눈금 레이블 설정

set_xticks 함수를 사용하여 두 번째 y 축의 눈금 레이블을 설정할 수 있으며, 눈금 위치와 레이블을 인수로 전달합니다.

ax2.set_xticks([0., .5*np.pi, np.pi, 1.5*np.pi, 2*np.pi],
               labels=["$0$", r"$\frac{1}{2}\pi$",
                       r"$\pi$", r"$\frac{3}{2}\pi$", r"$2\pi$"])

오른쪽 y 축의 눈금 레이블 숨기기

major_ticklabels.set_visible 함수를 사용하여 오른쪽 y 축의 눈금 레이블을 숨길 수 있습니다.

ax2.axis["right"].major_ticklabels.set_visible(False)

위쪽 y 축의 눈금 레이블 표시

동일한 major_ticklabels.set_visible 함수를 사용하여 위쪽 y 축의 눈금 레이블을 표시할 수 있습니다.

ax2.axis["top"].major_ticklabels.set_visible(True)

플롯 표시

마지막으로, show 함수를 사용하여 플롯을 표시할 수 있습니다.

plt.show()

요약

이 튜토리얼에서는 Matplotlib 를 사용하여 두 개의 y 축을 가진 간단한 플롯을 만드는 방법을 배웠습니다. host_subplot 모듈을 사용하여 플롯을 생성하고, mpl_toolkits.axes_grid1 모듈을 사용하여 두 번째 y 축을 생성했습니다. numpy를 사용하여 데이터를 생성하고 matplotlib.pyplot을 사용하여 플롯을 표시했습니다.