Matplotlib 를 이용한 서브플롯 생성

Beginner

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

소개

Matplotlib 는 Python 에서 널리 사용되는 데이터 시각화 라이브러리입니다. 다양한 유형의 플롯을 생성하기 위한 다양한 기능을 제공합니다. 주요 기능 중 하나는 서브플롯 (subplots) 을 생성하는 기능입니다. 이를 통해 사용자는 동일한 그림 (figure) 내에 여러 플롯을 생성하여 서로 다른 데이터 세트 또는 동일한 데이터의 여러 보기를 쉽게 비교할 수 있습니다. 이 Lab 에서는 Matplotlib 를 사용하여 서브플롯을 생성하는 과정을 안내합니다.

VM 팁

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

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

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

단일 서브플롯이 있는 그림 생성

단일 서브플롯을 생성하는 가장 간단한 방법은 인자 없이 subplots() 함수를 사용하는 것입니다. 이 함수는 Figure 객체와 단일 Axes 객체를 반환합니다.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

한 방향으로 서브플롯 쌓기

수직 또는 수평으로 쌓인 여러 서브플롯을 생성하려면, subplots() 함수에 행과 열의 수를 인자로 전달할 수 있습니다. 반환된 axs 객체는 생성된 Axes 목록을 포함하는 1 차원 numpy 배열입니다.

fig, axs = plt.subplots(2)
axs[0].plot(x, y)
axs[1].plot(x, -y)

두 방향으로 서브플롯 쌓기

서브플롯 그리드를 생성하려면, subplots() 함수에 행과 열의 수를 인자로 전달할 수 있습니다. 반환된 axs 객체는 2 차원 NumPy 배열입니다.

fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 1].plot(x, y, 'tab:orange')
axs[1, 0].plot(x, -y, 'tab:green')
axs[1, 1].plot(x, -y, 'tab:red')

축 공유 (Sharing Axes)

기본적으로 각 Axes는 개별적으로 스케일링됩니다. 서브플롯의 수평 또는 수직 축을 정렬하려면, sharex 또는 sharey 매개변수를 사용할 수 있습니다.

fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(x, y)
ax2.plot(x + 1, -y)

극좌표 축 (Polar Axes)

subplots() 함수에 projection='polar' 매개변수를 전달하여 극좌표 Axes 그리드를 생성할 수 있습니다.

fig, (ax1, ax2) = plt.subplots(1, 2, subplot_kw=dict(projection='polar'))
ax1.plot(x, y)
ax2.plot(x, y ** 2)

요약 (Summary)

이 랩에서는 Matplotlib 을 사용하여 서브플롯을 생성하는 방법을 배웠습니다. 단일 서브플롯이 있는 figure 생성, 한 방향으로 서브플롯 쌓기, 두 방향으로 서브플롯 쌓기, 축 공유, 그리고 극좌표 축 생성을 다루었습니다. 이러한 기술을 사용하여 여러 데이터 세트를 한 번에 비교하고 분석할 수 있는 복잡한 시각화를 만들 수 있습니다.