본문 바로가기
파이썬

파이썬 matplotlib에서 동적으로 서브 플롯 추가 / 생성

by º기록 2021. 2. 7.
반응형

공유 x / y 축이있는 여러 서브 플롯으로 구성된 플롯을 만들고 싶습니다.


x 및 y 축을 공유하는 3 개의 서브 플롯

하지만 동적으로 서브 플롯을 만들고 싶습니다!

따라서 서브 플롯의 수는 이전 함수의 출력에 따라 다릅니다. (내 스크립트의 입력에 따라 각기 다른 데이터 세트에서 나온 다이어그램 당 서브 플롯이 약 3 ~ 15 개일 것입니다.)

누구든지 그것을 달성하는 방법을 말해 줄 수 있습니까?

 

해결 방법

 

import matplotlib.pyplot as plt
from pylab import *
import numpy as np

x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)

subplots_adjust(hspace=0.000)
number_of_subplots=3

for i,v in enumerate(xrange(number_of_subplots)):
    v = v+1
    ax1 = subplot(number_of_subplots,1,v)
    ax1.plot(x,y)

plt.show()

이 코드는 작동하지만 축을 수정해야합니다. 저는 subplot 을 사용하여 3 개의 그래프를 모두 같은 열에 표시했습니다. number_of_plots 변수에 정수를 할당하기 만하면됩니다. 각 플롯에 대해 X 및 Y 값이 다른 경우 각 플롯에 대해 할당해야합니다.

예를 들어 3,1,1 의 서브 플롯 값이있는 경우 subplot 은 다음과 같이 작동합니다. 이렇게하면 3x1 그리드가 생성되고 플롯이 첫 번째 위치에 배치됩니다. 다음 인터 레이션에서 subplot 값이 3,1,2 이면 다시 3x1 그리드를 생성하지만 플롯을 두 번째 위치에 배치하는 식입니다.

 

참조 페이지 https://stackoverflow.com/questions/12319796

 

 

반응형

댓글