제퍼넷 로고

Python의 Matplotlib.pyplot.subplots(): 종합 안내서

시간

개요

Matplotlib.pyplot.subplots()는 다음의 강력한 함수입니다. Python 이를 통해 사용자는 단일 그림 내에서 하위 그림의 그리드를 만들 수 있습니다. 이 함수는 널리 사용되는 Matplotlib 라이브러리의 일부입니다. 데이터 시각화 파이썬에서. subplots()를 사용하면 사용자는 단일 그림에 여러 플롯을 쉽게 생성하여 다양한 데이터 세트나 변수를 더 쉽게 비교하고 분석할 수 있습니다.

Python의 Matplotlib.pyplot.subplots(): 종합 안내서

차례

Matplotlib.pyplot.subplots() 사용의 이점

Matplotlib.pyplot.subplots()를 사용하면 데이터 시각화 작업에 여러 가지 이점이 있습니다. 첫째, 단일 그림에 여러 플롯을 구성하고 표시하는 편리한 방법을 제공합니다. 이는 데이터 세트의 다양한 측면을 비교하거나 다양한 시각화를 제시할 때 특히 유용할 수 있습니다.

또한 subplots()를 사용하면 사용자가 하위 플롯의 레이아웃과 배열을 사용자 정의할 수 있습니다. 사용자는 서브플롯 그리드의 행 및 열 수와 각 서브플롯 사이의 크기 및 간격을 지정할 수 있습니다. 이러한 유연성을 통해 사용자는 시각적으로 매력적이고 유익한 플롯을 만들 수 있습니다.

또한 읽기 : 초보자를 위한 Python을 사용한 Matplotlib 소개

서브플롯 그리드 이해

서브플롯 그리드는 Matplotlib.pyplot.subplots()를 사용하여 생성된 그림 내의 서브플롯 배열입니다. 행과 열로 구성되어 있으며, 서브플롯을 나타내는 각 셀. 사용자는 사용자가 행과 열의 수를 선택할 수 있도록 지정할 수 있습니다. 원하는 레이아웃에

서브플롯은 행렬의 요소에 액세스하는 것과 유사한 인덱싱을 사용하여 액세스됩니다. 예를 들어, 첫 번째 행과 두 번째 열의 서브플롯에 액세스하려면 인덱싱은 [0, 1]이 됩니다. 이를 통해 사용자는 그리드 내의 개별 하위 플롯을 신속하게 수정하고 사용자 정의할 수 있습니다.

서브플롯 그리드는 Figure 객체와 Axes 객체 배열을 반환하는 subplots() 함수를 사용하여 생성할 수 있습니다. Figure 객체는 전체 그림을 나타내고, Axes 객체는 각 서브플롯을 나타냅니다. 이러한 Axes 객체는 제목, 레이블, 데이터 등 각 하위 플롯의 속성을 수정하는 데 사용할 수 있습니다.

기본 서브플롯 그리드 생성

섹션에서는 Python에서 `matplotlib.pyplot.subplots()` 함수를 사용하여 기본 하위 플롯 그리드를 만드는 방법을 살펴봅니다. 이 기능을 사용하면 단일 그림 내에서 하위 플롯의 그리드를 생성하여 여러 플롯을 동시에 시각화하는 것이 더 쉬워집니다..

구문 및 매개변수

서브플롯 그리드를 생성하는 구문은 다음과 같습니다.

암호:

fig, axes = plt.subplots(nrows, ncols)

여기서 `nrows`와 `ncols`는 서브플롯 그리드의 행과 열 수를 나타냅니다.. 이 함수는 두 개의 개체를 반환합니다. fig, 이는 전체 그림을 의미하며 axes, 이는 각 서브플롯을 나타내는 좌표축 객체의 배열입니다.

예: 2×2 서브플롯 그리드 생성

2×2 서브플롯 그리드를 생성하는 방법을 이해하기 위해 예를 살펴보겠습니다. 먼저, 필요한 라이브러리를 가져와야 합니다.

암호:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(0, 2*np.pi, 100)

y1 = np.sin(x)

y2 = np.cos(x)

y3 = np.tan(x)

y4 = np.exp(x)

fig, axes = plt.subplots(2, 2)

axes[0, 0].plot(x, y1)

axes[0, 0].set_title('Sin(x)')

axes[0, 1].plot(x, y2)

axes[0, 1].set_title('Cos(x)')

axes[1, 0].plot(x, y3)

axes[1, 0].set_title('Tan(x)')

axes[1, 1].plot(x, y4)

axes[1, 1].set_title('Exp(x)')

plt.tight_layout()

plt.show()

출력:

기본 하위 플롯 그리드 만들기 | Python의 Matplotlib.pyplot.subplots()

이 예에서는 `subplots()` 함수를 사용하여 2×2 하위 플롯 그리드를 만듭니다. 그런 다음 `axes` 배열의 인덱싱을 사용하여 각 서브플롯에 액세스하고 이에 따라 데이터를 플로팅합니다. 마지막으로 `tight_layout()`을 사용하여 서브플롯 사이의 간격을 조정하고 `show()`를 사용하여 그림을 표시합니다.

`matplotlib.pyplot.subplots()` 함수를 사용하면 Python에서 서브플롯 그리드를 쉽게 만들고 사용자 정의할 수 있습니다. 이를 통해 단일 그림으로 여러 플롯을 시각화할 수 있으므로 데이터 분석 및 프리젠테이션이 편리해집니다.

서브플롯 간격 조정

Matplotlib의 `subplots()` 함수를 사용하여 하위 플롯을 생성할 때 이들 사이의 간격을 조정할 수 있습니다. 이는 플롯의 레이아웃을 사용자 정의하거나 여러 하위 플롯이 있고 그 사이의 간격을 최적화하려는 경우 유용할 수 있습니다.

`wspace` 및 `hspace` 매개변수 사용:

서브플롯 사이의 간격을 조정하려면 `subplots()` 함수의 `wspace` 및 `hspace` 매개변수를 사용하세요. 이러한 매개변수는 각각 서브플롯 간의 너비와 높이 간격을 제어합니다.

'wspace' 매개변수는 서브플롯 사이의 가로 간격을 제어하고 'hspace' 매개변수는 세로 간격을 제어합니다. 이러한 매개변수를 조정하면 서브플롯 사이에 더 많거나 더 적은 공간을 만들 수 있습니다.

예를 들어, `wspace` 및 `hspace` 매개변수를 더 높은 값으로 설정하여 서브플롯 사이의 간격을 늘릴 수 있습니다. 반면에 간격을 줄이려면 이러한 매개변수를 더 낮은 값으로 설정할 수 있습니다.

예: 서브플롯 간격 조정

서브플롯 간격을 조정하는 방법을 보여주는 예를 살펴보겠습니다. 두 개의 하위 플롯이 수직으로 배열된 그림이 있다고 가정합니다. 우리는 이러한 서브플롯 사이의 간격을 늘리고 싶습니다.

이를 달성하기 위해 `wspace` 매개변수를 0.2로 설정하고 `hspace` 매개변수를 0.5로 설정할 수 있습니다. 이렇게 하면 서브플롯 사이에 수평 및 수직으로 더 많은 공간이 생성됩니다.

암호:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 1, figsize=(6, 6))

fig.subplots_adjust(wspace=1, hspace=5)

# Plotting code for the subplots

plt.show()

출력:

기본 하위 플롯 그리드 만들기 | Python의 Matplotlib.pyplot.subplots()

위의 예에서는 먼저 `subplots()` 함수를 사용하여 두 개의 하위 플롯이 있는 그림을 만듭니다. 그런 다음 `subplots_adjust()` 함수를 사용하여 `wspace` 및 `hspace` 매개변수를 설정하여 하위 플롯 사이의 간격을 조정합니다.

서브플롯 간격을 사용자 정의하여 원하는 레이아웃과 서브플롯 사이의 간격으로 시각적으로 매력적인 플롯을 생성할 수 있습니다.

서브플롯 제목 및 축 레이블 설정

이 섹션에서는 플롯의 시각적 표현을 향상시키기 위해 서브플롯 및 축 레이블에 제목을 추가하는 방법을 살펴보겠습니다.

서브플롯에 제목 추가

We `set_title()` 함수를 사용하여 하위 플롯에 제목을 추가할 수 있습니다. 이 기능을 사용하면 각 하위 플롯의 제목을 지정할 수 있습니다. 설명적인 제목을 지정하여 플롯에 맥락과 명확성을 제공할 수 있습니다..

예를 들어, 두 변수의 분포를 나타내는 두 개의 하위 그림이 있는 그림이 있다고 가정해 보겠습니다. 다음 코드를 사용하여 이러한 하위 플롯에 제목을 추가할 수 있습니다.

암호:

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.set_title("Distribution of Variable A")

ax2.set_title("Distribution of Variable B")

`set_title()` 함수를 사용하면 서브플롯의 제목을 쉽게 사용자 정의하여 표시하려는 정보를 전달할 수 있습니다.

서브플롯에 축 레이블 추가

축 레이블은 플롯의 x 및 y축에 표시된 변수에 대한 정보를 제공하는 데 필수적입니다. 서브플롯에 축 레이블을 추가하려면 `set_xlabel()` 및 `set_ylabel()` 함수를 사용할 수 있습니다.

예를 들어, 두 변수 사이의 관계를 나타내는 두 개의 하위 도표가 있는 그림을 생각해 보세요. 다음 코드를 사용하여 이러한 하위 그림에 축 레이블을 추가할 수 있습니다.

암호:

fig, (ax1, ax2) = plt.subplots(1, 2)

ax1.set_xlabel("Variable A")

ax1.set_ylabel("Variable B")

ax2.set_xlabel("Variable C")

ax2.set_ylabel("Variable D")

`set_xlabel()` 및 `set_ylabel()` 함수를 사용하면 각 서브플롯의 x 및 y축에 대한 명확한 레이블을 제공할 수 있으므로 뷰어가 데이터를 더 쉽게 해석할 수 있습니다.

예: 서브플롯 제목 및 축 레이블 설정

서브플롯 제목과 축 레이블을 설정하는 프로세스를 설명하기 위해 데이터세트의 다양한 측면을 나타내는 세 개의 서브플롯이 있는 그림이 있는 예를 고려해 보겠습니다.

암호:

import matplotlib.pyplot as plt

import numpy as np

# Generating sample data

x = np.arange(1, 6)

y1 = np.random.randint(1, 10, size=5)

y2 = np.random.randint(1, 10, size=5)

y3 = np.random.randint(1, 10, size=5)

fig, (ax1, ax2, ax3) = plt.subplots(1, 3)

ax1.plot(x, y1)

ax1.set_title("Plot 1")

ax1.set_xlabel("X-axis")

ax1.set_ylabel("Y-axis")

ax2.scatter(x, y2)

ax2.set_title("Plot 2")

ax2.set_xlabel("X-axis")

ax2.set_ylabel("Y-axis")

ax3.bar(x, y3)

ax3.set_title("Plot 3")

ax3.set_xlabel("X-axis")

ax3.set_ylabel("Y-axis")

# Plotting code for the subplots

plt.show()

출력:

서브플롯 제목 및 축 레이블 설정 | Python의 Matplotlib.pyplot.subplots()

이 예에서는 각각 다른 유형의 플롯을 나타내는 세 개의 하위 플롯이 있는 그림을 만듭니다. set_title()을 사용하여 각 서브플롯의 제목을 설정하고 set_xlabel() 및 set_ylabel()을 사용하여 축 레이블을 제공합니다. 이를 통해 각 하위 플롯에 명확하게 레이블을 지정하고 설명할 수 있어 시청자가 제시된 데이터를 더 쉽게 이해할 수 있습니다..

이러한 단계를 수행하면 하위 플롯 제목과 축 레이블을 효과적으로 설정하여 플롯의 시각적 표현을 향상시킬 수 있습니다.

서브플롯 크기 및 종횡비 제어

Matplotlib의 `subplots()` 함수를 사용하여 하위 플롯을 생성할 때 다음을 볼 수 있습니다. 서브플롯의 종횡비. 이를 통해 귀하의 필요에 가장 잘 맞게 플롯의 레이아웃을 사용자 정의할 수 있습니다..

figsize 매개변수에 적합

서브플롯의 크기를 제어하는 ​​한 가지 방법은 'figsize' 매개변수를 사용하는 것입니다. 이 매개변수는 그림의 너비와 높이를 인치 단위로 나타내는 두 값의 튜플을 사용합니다. 이러한 값을 조정하여 서브플롯의 전체 크기를 변경할 수 있습니다.

예를 들어, 너비가 8인치, 높이가 6인치인 서브플롯이 있는 그림을 생성하려면 'figsize' 매개변수를 '(8, 6)'으로 설정할 수 있습니다.

import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 2, figsize=(8, 6))

그러면 2개의 행과 8개의 열로 구성된 그리드가 있는 그림이 생성되며, 각 서브플롯의 크기는 6인치 x XNUMX인치입니다.

예: 서브플롯 크기 및 종횡비 제어

서브플롯 크기와 종횡비를 제어하는 ​​방법을 더 자세히 설명하는 예를 살펴보겠습니다. 첫 번째 서브플롯이 두 번째 서브플롯 너비의 두 배인 두 개의 서브플롯이 있는 그림을 생성한다고 가정합니다.

암호:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(1, 2, figsize=(10, 5))

axs[0].plot([1, 2, 3, 4], [1, 4, 9, 16])

axs[0].set_title('Subplot 1')

axs[1].plot([1, 2, 3, 4], [1, 8, 27, 64])

axs[1].set_title('Subplot 2')

plt.show()

출력:

서브플롯 크기 및 종횡비 제어 | Python의 Matplotlib.pyplot.subplots()

이 예에서는 행 1개와 열 2개의 그리드가 있는 그림을 만듭니다. `figsize` 매개변수를 `(10, 5)`로 설정했습니다. 이는 그림의 너비가 10인치, 높이가 5인치라는 의미입니다.

첫 번째 서브플롯은 x축에 '[1, 2, 3, 4]' 데이터를 사용하고 y축에 '[1, 4, 9, 16]' 데이터를 사용하여 그려집니다. 두 번째 서브플롯은 x축에 '[1, 2, 3, 4]' 데이터를 사용하고 y축에 '[1, 8, 27, 64]' 데이터를 사용하여 그려집니다.

조절하는 `figsize` 매개변수를 사용하면 하위 플롯의 전체 크기를 제어할 수 있습니다. 귀하의 필요에 가장 적합한 사용자 정의 레이아웃을 만들 수 있습니다.

결론

Python의 Matplotlib.pyplot.subplots()에 관한 이 기사에서는 Matplotlib에서 하위 플롯의 크기와 종횡비를 제어하는 ​​방법을 배웠습니다. 사용 `figsize` 매개변수를 사용하면 서브플롯의 전체 크기를 조정할 수 있습니다. 이를 통해 우리의 요구 사항에 가장 적합한 사용자 정의 레이아웃을 만들 수 있습니다. 플롯의 원하는 하위 플롯 크기와 종횡비를 얻기 위해 `figsize` 매개변수에 대해 다양한 값을 실험해 보세요..

spot_img

최신 인텔리전스

spot_img