Python의 Matplotlib.pyplot.subplots()

Python의 Matplotlib.pyplot.subplots()

Matplotlib Python의 라이브러리이며 수치 수학 확장입니다. 넘파이 도서관. 파이플롯 MATLAB과 유사한 인터페이스를 제공하는 Matplotlib 모듈에 대한 상태 기반 인터페이스입니다. subplots()> Python의 함수는 단일 그림 내에서 Matplotlib의 여러 하위 플롯 생성을 단순화하여 다양한 데이터 세트 또는 플롯을 체계적으로 동시에 시각화할 수 있습니다.

예:

다음은 간단한 예입니다. 파이썬 코드를 사용하여 그래프를 그리는 코드 Matplotlib 라이브러리 .

파이썬3




# sample code> import> matplotlib.pyplot as plt> > plt.plot([> 1> ,> 2> ,> 3> ,> 4> ], [> 16> ,> 4> ,> 1> ,> 8> ])> plt.show()>

산출:

Python matplotlib를 사용한 간단한 플롯

Python matplotlib를 사용하여 플롯

Matplotlib 하위 플롯() 구문

그만큼 서브플롯() 함수 에서 파이플롯 모듈 Matplotlib 라이브러리의 그림과 하위 플롯 세트를 만드는 데 사용됩니다.

통사론: matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, Gridspec_kw=None, **fig_kw)

매개변수: 이 방법은 아래에 설명된 다음 매개변수를 허용합니다.

  • nrows, ncols : 이러한 매개변수는 서브플롯 그리드의 행/열 수입니다.
  • 쉐렉스, 쉐리: 이러한 매개변수는 x(sharex) 또는 y(sharey) 축 간의 속성 공유를 제어합니다.
  • 짜내다 : 이 매개변수는 선택적 매개변수이며 기본값은 True인 부울 값을 포함합니다.
  • 하나에: 이 매개변수는 그림 번호나 레이블을 설정하는 pyplot.Figure 키워드입니다.
  • 하위 플롯_kwd: 이 매개변수는 각 서브플롯을 생성하는 데 사용되는 add_subplot 호출에 전달된 키워드가 포함된 사전입니다.
  • Gridspec_kw: 이 매개변수는 서브플롯이 배치되는 그리드를 생성하는 데 사용되는 GridSpec 생성자에 전달된 키워드가 포함된 사전입니다.

보고: 이 메서드는 다음 값을 반환합니다.

  • 무화과 : 이 메서드는 그림 레이아웃을 반환합니다.
  • 도끼 : 이 메서드는 axis.Axes 객체 또는 Axes 객체의 배열을 반환합니다.

Python 서브플롯 Matplotlib 예

이 예에서는 matplotlib.pyplot의 subplots() 함수를 사용하여 간단한 플롯을 만듭니다.

파이썬3




# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y> => np.sin(x> *> *> 2> )> fig, ax> => plt.subplots()> ax.plot(x, y)> ax.set_title(> 'Simple plot'> )> fig.suptitle(> 'matplotlib.pyplot.subplots() Example'> )> plt.show()>

산출:

matplotlib.pyplot.subplots() 함수 예제

matplotlib.pyplot.subplots() 함수 예제

subplots()를 사용하여 여러 플롯 표시

Matplotlib subplots() 함수를 사용하면 동일한 데이터나 축을 사용하여 여러 플롯을 그릴 수 있습니다. 더 나은 이해를 위해 몇 가지 예를 살펴보겠습니다.

한 방향으로 서브플롯 쌓기

이 예에서는 y축을 공유하는 두 개의 플롯을 플롯합니다. nrows 및 ncols 매개변수는 각각 1과 2로 설정됩니다. 이는 플롯에 1개의 행과 2개의 열 또는 2개의 서브플롯이 있음을 의미합니다. 인덱스 [0]과 [1]을 사용하여 이러한 서브플롯에 액세스할 수 있습니다.

파이썬3




# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> # create 2 subplots> fig, ax> => plt.subplots(nrows> => 1> , ncols> => 2> )> ax[> 0> ].plot(x, y1)> ax[> 1> ].plot(x, y2)> # plot 2 subplots> ax[> 0> ].set_title(> 'Simple plot with sin(x)'> )> ax[> 1> ].set_title(> 'Simple plot with sin(x**2)'> )> fig.suptitle(> 'Stacked subplots in one direction'> )> plt.show()>

산출:

한 방향으로 서브플롯 쌓기

한 방향으로 서브플롯 쌓기

두 방향으로 서브플롯 쌓기

이 예는 이전 예와 유사합니다. 유일한 차이점은 nrows와 ncols의 값을 2로 제공했다는 것입니다. 이는 플롯이 2개의 행과 2개의 열로 나누어져 총 4개의 하위 플롯 matplotlib을 제공한다는 것을 의미합니다. 인덱스를 사용하여 이러한 플롯에 액세스할 수 있습니다.

파이썬3




# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> y3> => y1> *> *> 2> y4> => y2> *> *> 2> fig, ax> => plt.subplots(nrows> => 2> , ncols> => 2> )> ax[> 0> ,> 0> ].plot(x, y1, c> => 'red'> )> ax[> 0> ,> 1> ].plot(x, y2, c> => 'red'> )> ax[> 1> ,> 0> ].plot(x, y3, c> => 'blue'> )> ax[> 1> ,> 1> ].plot(x, y3, c> => 'blue'> )> ax[> 0> ,> 0> ].set_title(> 'Simple plot with sin(x)'> )> ax[> 0> ,> 1> ].set_title(> 'Simple plot with sin(x**2)'> )> ax[> 1> ,> 0> ].set_title(> 'Simple plot with sin(x)**2'> )> ax[> 1> ,> 1> ].set_title(> 'Simple plot with sin(x**2)**2'> )> fig.suptitle(> 'Stacked subplots in two direction'> )> plt.show()>

산출:

두 방향으로 서브플롯 쌓기

두 방향으로 서브플롯 쌓기

공유축

이 예에서는 동일한 축을 공유하는 그래프를 그려보겠습니다. y축과 레이블을 공유하지만 자체 x축과 레이블을 갖는 플롯을 생성합니다. 이는 subplot() 함수의 'num' 매개변수에 값을 전달하여 수행할 수 있습니다. 'sharex' 매개변수는 True로 설정됩니다. 이는 생성된 플롯이 X축을 공유한다는 의미입니다.

파이썬3




# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 2> *> np.pi,> 400> )> y1> => np.sin(x)> y2> => np.sin(x> *> *> 2> )> fig, (ax1, ax2)> => plt.subplots(> 2> , sharex> => True> )> ax1.plot(x, y1, c> => 'red'> )> ax2.plot(x, y2, c> => 'red'> )> ax1.set_ylabel(> 'Simple plot with sin(x)'> )> ax2.set_ylabel(> 'Simple plot with sin(x**2)'> )> fig.suptitle(> 'Subplots with shared axis'> )> plt.show()>

산출:

공유 축이 있는 서브플롯

공유 축이 있는 서브플롯

극축

이 예에서는 극좌표를 사용하여 그래프를 그려보겠습니다. subplot() 함수의 subplot_kw 매개변수에는 subplot() 함수에 극 그래프를 생성하도록 지시하는 '폴라'로 설정된 투영의 사전 값이 제공됩니다.

파이썬3




# Implementation of matplotlib function> import> numpy as np> import> matplotlib.pyplot as plt> # First create some toy data:> x> => np.linspace(> 0> ,> 1.5> *> np.pi,> 100> )> y> => np.sin(x> *> *> 2> )> +> np.cos(x> *> *> 2> )> fig, axs> => plt.subplots(nrows> => 2> , ncols> => 2> ,> > subplot_kw> => dict> (polar> => True> ))> axs[> 0> ,> 0> ].plot(x, y)> axs[> 1> ,> 1> ].scatter(x, y)> fig.suptitle(> 'matplotlib.pyplot.subplots() Example'> )> plt.show()>

산출:

matplotlib.pyplot.subplots() 함수 예제

matplotlib.pyplot.subplots() 함수 예제