Python 을 이용 하여 재 미 있 는 GIF 동 도 를 어떻게 만 드 는 지 상세 하 게 설명 합 니 다.

2997 단어 python만들다.gif
머리말
전에 우 리 는 나 눈 적 이 있다Python 으로 시각 화 하 는 9 가지 흔 한 방식사실 우 리 는 시각 화 된 도형 을 더욱 높 게 만 들 수 있 습 니 다.오늘 은 시각 화 쇼 를 어떻게 하 는 지 공유 하 겠 습 니 다.Python 과 matplotlib 로 GIF 도 표를 만 드 는 방법 입 니 다.
만약 에 컴퓨터 에 ImageMagick 이 설치 되 어 있 지 않 으 면 먼저여기,이곳자신의 컴퓨터 시스템 에 따라 해당 버 전 을 다운로드 할 수 있 습 니 다.여러분 도 저 희 를 통 해 다운로드 할 수 있 습 니 다https://www.jb51.net/softs/140766.html만약 에 저희 가 matplotlib 의 save 방법 으로 GIF 동 도 를 렌 더 링 하려 면 ImageMagick 을 설치 해 야 합 니 다.
다음 그림 은 우리 가 만 든 움 직 이 는 그림 의 예 이다.

두 가지 주의해 야 할 것 이 있다.도표 중의 산 점 은 움 직 이지 않 고 움 직 이 는 것 은 직선 이다.X 축 제목 이 프레임 마다 바 뀌 고 있 습 니 다.
다음은 우리 가 위의 GIF 그림 을 만 드 는 코드 입 니 다.

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

fig, ax = plt.subplots()
fig.set_tight_layout(True)

#             DPI(     )
#             ,           DPI
print('fig size: {0} DPI, size in inches {1}'.format(
 fig.get_dpi(), fig.get_size_inches()))

#         (       )          
x = np.arange(0, 20, 0.1)
ax.scatter(x, x + np.random.normal(0, 3.0, len(x)))
line, = ax.plot(x, x - 5, 'r-', linewidth=2)

def update(i):
 label = 'timestep {0}'.format(i)
 print(label)
#       (    X   )
 #                    
 line.set_ydata(x - 5 + i)
 ax.set_xlabel(label)
 return line, ax

if __name__ == '__main__':
 #        Update  
 #   FunAnimation    10   ,    200ms
 anim = FuncAnimation(fig, update, frames=np.arange(0, 10), interval=200)
 if len(sys.argv) > 1 and sys.argv[1] == 'save':
  anim.save('line.gif', dpi=80, writer='imagemagick')
 else:
  # Plt.show()       
  plt.show()
좀 더 멋 진 주 제 를 바 꾸 고 싶다 면 seaborn 라 이브 러 리 로 추가 하 세 요.

import seaborn
그러면 다음 GIF 그림 을 얻 을 수 있 습 니 다.

잠시 알려 드 리 겠 습 니 다.비록 우리 가 있 는 GIF 그림 은 10 프레임 에 불과 하고 도형 내용 도 간단 하지만 한 프레임 에 160 k 정도 가 있 습 니 다.GIF 동 도 는 크로스 프레임 압축 을 사용 하지 않 기 때문에 프레임 이 비교적 긴 GIF 그림 을 크게 만든다.프레임 수 를 최대한 줄 이 고 각 프레임 의 그림 을 좀 더 작 게(matplotlib 에서 도형 크기 나 DPI 조정)하면 이 문 제 를 완화 하 는 데 도움 이 될 수 있 습 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
참고 자료:drawing-animated-gifs-with-matplotlib/

좋은 웹페이지 즐겨찾기