Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Matplotlib에서 for 루프로 애니메이션할 여러 플롯 정의

<시간/>

matplotlib에서 for 루프로 애니메이션할 여러 플롯을 정의하려면 다음 단계를 수행할 수 있습니다. -

  • 그림 크기를 설정하고 서브플롯 사이 및 주변 여백을 조정합니다.
  • 그림 메서드를 사용하여 새 그림을 만들거나 기존 그림을 활성화합니다.
  • 현재 Figure에 좌표축을 추가하고 현재 좌표축으로 만듭니다.
  • 두 변수 초기화, Nx , numpy를 사용합니다.
  • 라인 및 바 패치 목록을 가져옵니다.
  • for에서 선과 직사각형(막대 패치)을 애니메이션으로 루프.
  • *func* 함수를 반복적으로 호출하여 애니메이션 만들기 .
  • 그림을 표시하려면 show()를 사용하세요. 방법.

예시

from matplotlib import pyplot as plt
from matplotlib import animation
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(0, 100))
N = 4
x = np.linspace(-5, 5, 100)
lines = [plt.plot(x, np.sin(x))[0] for _ in range(N)]
rectangles = plt.bar([0.5, 1, 1.5], [50, 40, 90], width=0.1)
patches = lines + list(rectangles)

def animate(i):
   for j, line in enumerate(lines):
      line.set_data([0, 2, i, j], [0, 3, 10 * j, i])
   for j, rectangle in enumerate(rectangles):
      rectangle.set_height(i / (j + 1))
return patches

anim = animation.FuncAnimation(fig, animate,
                              frames=100, interval=20, blit=True)

plt.show()

출력

Matplotlib에서 for 루프로 애니메이션할 여러 플롯 정의