애니메이션 만들기 :: Python 시각화 기초 - mindscale
Skip to content

애니메이션 만들기

설치

matplotlib로 애니메이션을 만들려면 celluloid 패키지를 사용한다. 명령창에 다음 명령을 입력한다.

pip install celluloid

추가로 ffmpeg이 필요하다. 맥이라 윈도에서 아나콘다를 쓰는 경우 명령창에 다음 명령을 입력한다.

conda install -y ffmpeg

colab에서는 노트북에 다음 명령을 입력한다.

!apt install ffmpeg

애니메이션 만들기

애니메이션을 만드는 원리는 간단하다. 그래프를 순서대로 그려서 애니메이션에 추가하고 순차적으로 재생하는 것이다.

import matplotlib.pyplot as plt
from celluloid import Camera

애니메이션에 넣을 그림을 만든다.

fig, ax = plt.subplots()
camera = Camera(fig)

그래프를 하나 그리고, 애니메이션에 추가한다.

ax.plot([0, 1], [0, 1])
camera.snap()  # 애니메이션에 추가
fig

다른 그래프를 하나 더 그리고, 애니메이션에 추가한다.

ax.plot([0, 1], [1, 0])
camera.snap()
fig

등록된 그래프들을 500밀리초(0.5초) 간격으로 재생한다. repeat=True로 하면 끝없이 반복 재생한다.

animation = camera.animate(interval=500, repeat=True)

주피터 노트북에서 보려면 다음과 같이 한다.

from IPython.display import HTML
HTML(animation.to_html5_video())

동영상으로 저장한다.

animation.save('animation.mp4')