> 백엔드 개발 > 파이썬 튜토리얼 > Matplotlib의 그림과 독립적으로 AxesSubplot 개체를 만들 수 있습니까?

Matplotlib의 그림과 독립적으로 AxesSubplot 개체를 만들 수 있습니까?

Patricia Arquette
풀어 주다: 2024-11-13 00:46:02
원래의
734명이 탐색했습니다.

Can You Create AxesSubplot Objects Independently of Figures in Matplotlib?

AxesSubplot 생성 및 그림 추가 분리

문제:
matplotlib 플롯을 사용자 정의하려면 AxesSubplot을 생성해야 하는 경우가 많습니다. 사물. 그러나 이러한 객체는 일반적으로 생성 시 Figure에 바인딩됩니다. 이로 인해 여러 그림에서 AxesSubplot을 재사용하는 기능이 제한됩니다.

질문:
Figure 인스턴스와 별도로 AxesSubplot 개체를 만든 다음 필요에 따라 다른 그림에 추가할 수 있습니까?

답변:

예, matplotlib에서 AxesSubplot 생성과 그림 추가를 분리할 수 있습니다. 두 가지 주요 접근 방식이 있습니다.

Axes 인스턴스로 함수 전달:

  • Axes 인스턴스를 인수로 사용하는 함수를 만듭니다.
  • 이 함수 내에서 플로팅 코드를 구현합니다.
  • 기존 또는 새로 생성된 Axes 인스턴스를 함수에 전달합니다.
  • 이렇게 하면 동일한 Axes 인스턴스를 전달하여 여러 그림에서 동일한 하위 플롯을 재사용할 수 있습니다.

그림에 축 추가:

  • 그림과 별도로 Axes 인스턴스를 생성합니다.
  • 추가 Figure.axes.append() 메소드를 사용하여 Axes 인스턴스를 Figure에 추가합니다.
  • append() 메소드 내에서 원하는 지오메트리를 지정합니다.
  • 이 접근 방식을 사용하면 전체에서 Axes 인스턴스를 재사용할 수 있습니다. 그림 크기나 서브플롯 수에 관계없이 여러 그림.

예제 코드:

Axes 인스턴스로 함수 전달:

import numpy as np
import matplotlib.pyplot as plt

def plot_sin(ax):
    x = np.linspace(0, 6 * np.pi, 100)
    ax.plot(x, np.sin(x))
    ax.set_ylabel('Yabba dabba do!')

fig1, (ax1, ax2) = plt.subplots(nrows=2)
plot_sin(ax1)
plot_sin(ax2)

fig2 = plt.figure()
ax3 = fig2.add_subplot(111)
plot_sin(ax3)

plt.show()
로그인 후 복사

그림에 축 추가:

import numpy as np
import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
fig2.axes.append(ax1)

plt.show()
로그인 후 복사

위 내용은 Matplotlib의 그림과 독립적으로 AxesSubplot 개체를 만들 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿