Matplotlib 중첩 Gridspecs 시각화

Beginner

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

소개

Matplotlib 는 Python 의 데이터 시각화 라이브러리입니다. 다양한 형태의 데이터를 표현하는 데 사용할 수 있는 광범위한 차트와 그래프를 제공합니다. 이 랩에서는 Matplotlib 를 사용하여 중첩된 gridspecs 를 생성하는 과정을 살펴봅니다.

VM 팁

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

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

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

Matplotlib 라이브러리 가져오기

첫 번째 단계는 Matplotlib 라이브러리를 가져오는 것입니다. 또한 Matplotlib 의 gridspec 모듈도 사용합니다.

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

Figure 및 외부 GridSpec 생성

다음 단계는 figure 와 외부 gridspec 을 생성하는 것입니다. 이 예제에서는 1x2 gridspec 을 생성합니다.

fig = plt.figure()
gs0 = gridspec.GridSpec(1, 2, figure=fig)

내부 GridSpec 생성

이제 내부 gridspec 을 생성합니다. GridSpecFromSubplotSpec 메서드를 사용하여 외부 gridspec 의 서브플롯이 될 3x3 gridspec 을 생성합니다.

gs00 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[0])

내부 GridSpec 에 서브플롯 추가

이제 내부 gridspec 에 서브플롯을 추가합니다. ax1, ax2, 그리고 ax3 세 개의 서브플롯을 생성합니다.

ax1 = fig.add_subplot(gs00[:-1, :])
ax2 = fig.add_subplot(gs00[-1, :-1])
ax3 = fig.add_subplot(gs00[-1, -1])

또 다른 내부 GridSpec 생성

이제 또 다른 내부 gridspec 을 생성합니다. 이번에는 subgridspec 메서드를 사용하여 외부 gridspec 의 두 번째 열의 서브플롯이 될 3x3 gridspec 을 생성합니다.

gs01 = gs0[1].subgridspec(3, 3)

두 번째 내부 GridSpec 에 서브플롯 추가

이제 두 번째 내부 gridspec 에 서브플롯을 추가합니다. ax4, ax5, 그리고 ax6 세 개의 서브플롯을 생성합니다.

ax4 = fig.add_subplot(gs01[:, :-1])
ax5 = fig.add_subplot(gs01[:-1, -1])
ax6 = fig.add_subplot(gs01[-1, -1])

축 형식 지정

format_axes 함수를 사용하여 모든 서브플롯의 축 형식을 지정합니다. 이 함수는 각 서브플롯에 텍스트 레이블을 추가하고 눈금 레이블을 제거합니다.

def format_axes(fig):
    for i, ax in enumerate(fig.axes):
        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
        ax.tick_params(labelbottom=False, labelleft=False)

format_axes(fig)

그림 표시

마지막으로, show 메서드를 사용하여 그림을 표시합니다.

plt.show()

요약

이 랩에서는 Matplotlib 을 사용하여 중첩된 gridspecs 를 만드는 방법을 배웠습니다. 외부 gridspec 과 두 개의 내부 gridspecs 를 생성하여 복잡한 서브플롯 레이아웃을 만들었습니다. 또한 사용자 정의 함수를 사용하여 서브플롯의 축 형식을 지정하는 방법도 배웠습니다.