- Matplotlib Tutorial - 파이썬으로 데이터 시각화하기
- Matplotlib 설치하기
- Matplotlib 기본 사용
- Matplotlib 숫자 입력하기
- Matplotlib 축 레이블 설정하기
- Matplotlib 범례 표시하기
- Matplotlib 축 범위 지정하기
- Matplotlib 선 종류 지정하기
- Matplotlib 마커 지정하기
- Matplotlib 색상 지정하기
- Matplotlib 그래프 영역 채우기
- Matplotlib 축 스케일 지정하기
- Matplotlib 여러 곡선 그리기
- Matplotlib 그리드 설정하기
- Matplotlib 눈금 표시하기
- Matplotlib 타이틀 설정하기
- Matplotlib 수평선/수직선 표시하기
- Matplotlib 막대 그래프 그리기
- Matplotlib 수평 막대 그래프 그리기
- Matplotlib 산점도 그리기
- Matplotlib 3차원 산점도 그리기
- Matplotlib 히스토그램 그리기
- Matplotlib 에러바 표시하기
- Matplotlib 파이 차트 그리기
- Matplotlib 히트맵 그리기
- Matplotlib 여러 개의 그래프 그리기
- Matplotlib 컬러맵 설정하기
- Matplotlib 텍스트 삽입하기
- Matplotlib 수학적 표현 사용하기
- Matplotlib 그래프 스타일 설정하기
- Matplotlib 이미지 저장하기
- Matplotlib 객체 지향 인터페이스 1
- Matplotlib 객체 지향 인터페이스 2
- Matplotlib 축 위치 조절하기
- Matplotlib 이중 Y축 표시하기
- Matplotlib 두 종류의 그래프 그리기
- Matplotlib 박스 플롯 그리기
- Matplotlib 바이올린 플롯 그리기
- Matplotlib 다양한 도형 삽입하기
- Matplotlib 다양한 패턴 채우기
- Matplotlib 애니메이션 사용하기 1
- Matplotlib 애니메이션 사용하기 2
- Matplotlib 3차원 Surface 표현하기
- Matplotlib 트리맵 그리기 (Squarify)
- Matplotlib Inset 그래프 삽입하기
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
Matplotlib 애니메이션 사용하기 2¶
이전 페이지에서는 FuncAnimation 클래스로 그래프를 애니메이션으로 표현하는 방법에 대해 소개했습니다.
이번에는 matplotlib.animation 모듈의 ArtistAnimation 클래스를 사용해서 그래프를 애니메이션으로 표현하는 방법에 대해 소개합니다.
■ Table of Contents
1) 기본 사용¶
예제¶
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
x = np.linspace(0, 2 * np.pi, 100)
y = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1)
ims = []
for i in range(100):
x += np.pi / 20
y += np.pi / 20
im = ax.imshow(np.sin(x) + np.cos(y), animated=True)
if i == 0:
ax.imshow(np.sin(x) + np.cos(y))
ims.append([im])
ani = animation.ArtistAnimation(fig, ims, interval=100)
plt.show()
np.linspace(a, b, n)는 a부터 b 사이를 균일한 간격으로 나누는 숫자 n개를 반환합니다.
np.pi는 \(\pi\)를 나타내는 NumPy 상수입니다.
imshow()는 숫자 데이터 어레이를 이미지로 표현하는 함수입니다.
각기 다른 데이터를 imshow() 함수를 사용해서 이미지로 나타내고, ims 리스트에 추가했습니다.
ArtistAnimation 클래스는 이미지의 리스트를 각각의 프레임을 갖는 애니메이션으로 변환합니다.
아래와 같은 애니메이션이 나타납니다.
2) 애니메이션 저장하기¶
예제¶
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
x = np.linspace(0, 2 * np.pi, 100)
y = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1)
ims = []
for i in range(100):
x += np.pi / 20
y += np.pi / 20
im = ax.imshow(np.sin(x) + np.cos(y), animated=True)
if i == 0:
ax.imshow(np.sin(x) + np.cos(y))
ims.append([im])
ani = animation.ArtistAnimation(fig, ims, interval=100)
ani.save('sin_plus_cos.gif', writer='imagemagick')
# plt.show()
matplotlib.animation 모듈의 ArtistAnimation 클래스의 save() 메서드는 모든 프레임을 애니메이션으로 저장합니다.
Matplotlib 애니메이션을 저장하기 위해서 ImageMagick을 사용합니다.
이전 페이지와 마찬가지로 writer=’imagemagick’과 같이 지정해주고, save() 메서드를 호출하면 지정한 파일명의 .gif 파일이 지정한 경로에 저장됩니다.
이전글/다음글
이전글 : Matplotlib 애니메이션 사용하기 1