Matplotlib 공유 축

Beginner

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

소개

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 축을 공유하는 플롯을 만드는 방법을 배웁니다. 공유 축은 동일한 스케일로 서로 다른 데이터 세트를 비교하려는 경우 유용할 수 있습니다.

VM 팁

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

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

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

Matplotlib 및 NumPy 라이브러리 가져오기

플롯을 생성하려면 Matplotlib 및 NumPy 라이브러리를 가져와야 합니다. NumPy 는 Python 프로그래밍 언어를 위한 라이브러리로, 대규모 다차원 배열 및 행렬에 대한 지원을 추가합니다.

import matplotlib.pyplot as plt
import numpy as np

플롯을 위한 데이터 생성

시각화를 위해 플롯에 대한 데이터를 생성해야 합니다. 이 예제에서는 NumPy 를 사용하여 세 개의 서로 다른 데이터 세트를 생성합니다.

t = np.arange(0.01, 5.0, 0.01)
s1 = np.sin(2 * np.pi * t)
s2 = np.exp(-t)
s3 = np.sin(4 * np.pi * t)

서브플롯 생성

plt.subplot() 메서드를 사용하여 서브플롯을 생성할 수 있습니다. 이 예제에서는 첫 번째 서브플롯이 첫 번째 행과 세 개의 열을 모두 차지하고, 두 번째 및 세 번째 서브플롯이 각각 두 번째 및 세 번째 행을 차지하며, 첫 번째 서브플롯과 x 축을 공유하는 세 개의 서브플롯을 생성합니다.

ax1 = plt.subplot(311)
ax2 = plt.subplot(312, sharex=ax1)
ax3 = plt.subplot(313, sharex=ax1, sharey=ax1)

데이터 플롯

이제 plt.plot() 메서드를 사용하여 각 서브플롯에 데이터를 플롯할 수 있습니다.

ax1.plot(t, s1)
ax2.plot(t, s2)
ax3.plot(t, s3)

눈금 레이블 사용자 정의

plt.tick_params() 메서드를 사용하여 다양한 축의 눈금 레이블을 사용자 정의할 수 있습니다. 이 예제에서는 첫 번째 서브플롯의 x 축 눈금 레이블을 더 작게 사용자 정의합니다.

plt.tick_params('x', labelsize=6)

눈금 레이블 제거

ax.get_xticklabels() 메서드를 사용하여 레이블의 가시성을 변경하여 특정 서브플롯에서 눈금 레이블을 제거할 수 있습니다. 이 예제에서는 두 번째 서브플롯의 x 축 눈금 레이블을 제거합니다.

plt.tick_params('x', labelbottom=False)

축 범위 설정

plt.xlim() 메서드를 사용하여 각 서브플롯의 축 범위를 설정할 수 있습니다. 이 예제에서는 세 번째 서브플롯의 x 축 범위를 0.01 에서 5.0 으로 설정합니다.

plt.xlim(0.01, 5.0)

플롯 표시

이제 plt.show() 메서드를 사용하여 플롯을 표시할 수 있습니다.

plt.show()

요약

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 공유 축이 있는 플롯을 만드는 방법을 배웠습니다. 서브플롯을 생성하고, 각 서브플롯에 데이터를 플롯하고, 눈금 레이블을 사용자 정의하고, 눈금 레이블을 제거하고, 축 범위를 설정하고, 플롯을 표시했습니다. 공유 축은 동일한 스케일로 서로 다른 데이터 세트를 비교하려는 경우 유용할 수 있습니다.