Matplotlib GridSpec 레이아웃 시각화

Beginner

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

소개

Matplotlib 는 Python 프로그래밍 언어를 위한 데이터 시각화 라이브러리입니다. 다양한 종류의 플롯과 차트를 생성하기 위한 광범위한 도구를 제공합니다. Matplotlib 의 GridSpec 모듈을 사용하면 서브플롯의 유연하고 복잡한 레이아웃을 만들 수 있습니다. 이 튜토리얼에서는 GridSpec 을 사용하여 다중 열/행 서브플롯 레이아웃을 만드는 방법을 배웁니다.

VM 팁

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

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

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

필요한 라이브러리 임포트

먼저, 필요한 라이브러리를 임포트해야 합니다. Matplotlib 와 GridSpec 을 사용할 것입니다.

import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

Figure 생성

다음으로, plt.figure() 함수를 사용하여 figure 를 생성해야 합니다. 서브플롯이 figure 내에 맞도록 layout 매개변수를 "constrained"로 설정할 수 있습니다.

fig = plt.figure(layout="constrained")

GridSpec 생성

GridSpec() 함수를 사용하여 GridSpec 객체를 생성할 수 있습니다. 그리드에 원하는 행과 열의 수를 지정해야 합니다. 이 예제에서는 3x3 그리드를 생성합니다.

gs = GridSpec(3, 3, figure=fig)

GridSpec 에 서브플롯 추가

fig.add_subplot() 함수를 사용하여 GridSpec 에 서브플롯을 추가할 수 있습니다. GridSpec 객체의 인덱싱 표기법을 사용하여 그리드 내 서브플롯의 위치를 지정할 수 있습니다. 예를 들어, gs[0, :]는 첫 번째 행과 모든 열을 지정합니다.

ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1, :-1])
ax3 = fig.add_subplot(gs[1:, -1])
ax4 = fig.add_subplot(gs[-1, 0])
ax5 = fig.add_subplot(gs[-1, -2])

서브플롯 사용자 정의

필요에 따라 서브플롯을 사용자 정의할 수 있습니다. 예를 들어, fig.suptitle() 함수를 사용하여 그림의 제목을 설정하고, format_axes() 함수를 사용하여 축의 형식을 지정할 수 있습니다.

fig.suptitle("GridSpec")

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)

플롯 표시

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

plt.show()

요약

이 튜토리얼에서는 Matplotlib 에서 GridSpec 을 사용하여 다중 열/행 서브플롯 레이아웃을 만드는 방법을 배웠습니다. 3x3 그리드를 생성하고 서브플롯을 추가했습니다. 서브플롯을 사용자 정의하고 플롯을 표시했습니다. GridSpec 은 Matplotlib 에서 복잡한 서브플롯 레이아웃을 생성하기 위한 강력한 도구입니다.