Matplotlib 애니메이션

Zeeshan Afridi 2024년2월15일
  1. Matplotlib 애니메이션
  2. Python에 Matplotlib 설치
  3. Matplotlib에서 애니메이션 만들기
  4. 결론
Matplotlib 애니메이션

Matplotlib에서 마우스 클릭이나 키 누름과 같은 사용자 입력에 응답하는 시각화를 만들 수 있습니다. 대화형 시각화는 애니메이션과 동일한 기술을 사용하여 만들 수 있습니다.

Matplotlib 애니메이션

Matplotlib는 2D 플로팅에 사용되는 라이브러리이지만 애니메이션을 만드는 기능도 포함하고 있으며 matplotlib.animation 모듈을 사용하면 애니메이션을 쉽게 만들 수 있습니다.

애니메이션 기능은 그림과 애니메이션 기능을 취합니다. 애니메이션 기능은 애니메이션의 각 프레임을 호출합니다.

그림은 축, 아티스트 및 캔버스의 컨테이너입니다. 축은 플롯이 그려지는 위치이고 아티스트는 캔버스에 그릴 개체입니다.

애니메이션 함수는 프레임 사이의 밀리초 수를 지정하는 간격 인수로 호출할 수 있으며 기본값은 1000입니다. matplotlib.animation 모듈에는 영화를 만드는 기능도 포함되어 있습니다.

영화 기능은 그림과 애니메이션 기능을 취합니다.

Python에 Matplotlib 설치

Matplotlib를 설치하는 방법에는 여러 가지가 있습니다. 가장 쉬운 방법은 pip 명령을 사용하는 것입니다.

pip install matplotlib

Matplotlib를 설치하려면 numpy 라이브러리를 설치해야 합니다. 다시 유명한 pip 명령을 사용합니다.

pip install numpy

numPy가 설치되면 소스 코드에서 Matplotlib를 설치할 수 있습니다. 마지막으로 다음 명령을 실행합니다.

python setup.py install

시스템의 모든 사용자를 위해 Matplotlib를 설치하려면 관리자 권한이 있어야 합니다. Linux에서는 명령을 실행하여 이를 수행할 수 있습니다.

sudo python setup.py install

Windows에서는 명령을 실행해야 합니다.

python setup.py install

단일 사용자를 위해 matplotlib를 설치하려면 --user flag를 사용할 수 있습니다.

python setup.py install --user

Matplotlib에서 애니메이션 만들기

Matplotlib에서 애니메이션을 만드는 것은 상대적으로 간단하며 FuncAnimation 클래스를 사용합니다. 애니메이션을 만들려면 먼저 그림과 축 인스턴스를 만들어야 합니다.

그림은 pyplot.figure() 함수를 사용하여 생성되고 축은 pyplot.axes() 함수를 사용하여 생성됩니다.

그림과 축을 만든 후에는 FuncAnimation 클래스를 사용하여 그림에 애니메이션을 적용할 수 있습니다.

FuncAnimation 클래스에는 애니메이션이 생성되기 전에 정의되어야 하는 애니메이션 함수가 필요합니다. 애니메이션 기능은 프레임 번호라는 단일 매개변수를 받아야 합니다.

프레임 번호는 각 애니메이션 단계에서 그림의 모양을 결정합니다. 애니메이션 기능은 프레임 번호가 업데이트되면 실행될 플로팅 코드를 포함할 수 있습니다.

애니메이션을 만들려면 anim = FuncAnimation(fig, func, frames=frames) 함수를 호출해야 합니다. 여기서 fig는 그림이고 func는 애니메이션 함수입니다.

프레임 인수는 선택 사항이며 애니메이션의 프레임 수를 지정하는 데 사용됩니다. 지정하지 않으면 그림이 닫힐 때까지 애니메이션이 실행됩니다.

코드 예:

# import the required libraries and modules

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

fig = plt.figure()
ax = plt.axes(xlim=(0, 4), ylim=(-2, 2))
(ln,) = ax.plot([], [], "bo")
xdata, ydata = [], []


def init():
    ax.set_xlim(0, 2 * np.pi)
    ax.set_ylim(-1, 1)
    return (ln,)


def update(frame):
    xdata.append(frame)
    ydata.append(np.sin(frame))
    ln.set_data(xdata, ydata)
    return (ln,)


anim = FuncAnimation(
    fig, update, frames=np.linspace(0, 2 * np.pi, 128), init_func=init, blit=True
)
anim.save("animation.gif", writer="imagemagick", fps=60)

출력:

Matplotlib 애니메이션

결론

Matplotlib 애니메이션에 대한 기사를 마무리하기 위해 Python에서 matplotlib 라이브러리를 사용하여 애니메이션을 만드는 방법에 대해 논의했습니다. 따라서 매우 간단한 방법으로 애니메이션을 만들 수 있습니다.

위의 기사는 먼저 FuncAnimation 클래스를 생성하는 것을 보여줍니다. 그런 다음 그림과 축 인스턴스를 만듭니다. 따라서 이러한 단계에서 애니메이션 그래프를 만들 수 있습니다.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn