numpngw와 matplotlib를 사용하여 png 애니메이션의 예시 코드를 생성합니다

matplotlib 홈페이지에서 제3자 라이브러리numpngw의 소개를 보았습니다. 이 라이브러리를 플러그인으로 사용하면 matplotlib가 png 애니메이션을 생성하는 것을 보조할 수 있습니다.

numpngw 개요


numpngw 라이브러리는 PNG 정적 이미지와 PNG 애니메이션을 생성합니다.
  • write_를 통해png 함수는 numpy를 PNG 파일로 저장할 수 있습니다..
  • write_를 통해apng 함수는 그룹 시퀀스를 PNG 애니메이션(APNG) 파일로 저장할 수 있습니다
  • AnimatedPNGWriter 클래스를 통해 Matplotlib를 PNG 애니메이션 파일로 저장할 수 있습니다
  • numpngw 라이브러리의 의존 패키지는numpy와setuptools입니다.

    numpngw와 matplotlib를 사용하여 png 애니메이션 생성


    numpngw+matplotlib png 애니메이션 구현
    
    import numpy as np
    from matplotlib import pyplot as plt
    import matplotlib.animation as animation
    from numpngw import AnimatedPNGWriter
    
    t = np.linspace(0, 6, 100)
    x = 16 * np.sin(t) ** 3
    y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)
    data=[i for i in zip(x,y)]
    
    def plot_love(data):
      x, y = data
      plt.scatter(x, y, 60, c="r", alpha=0.7, marker=r"$\heartsuit$")
    fig=plt.figure(figsize=(5, 3), dpi=100)
    plt.axis("off")
    
    writer = AnimatedPNGWriter(fps=12)
    animator = animation.FuncAnimation(fig, plot_love, frames=data)
    animator.save("love.png", writer=writer)
    
    

    matplotlib와pillow를 사용하여gif 애니메이션 구현

    
    from matplotlib import pyplot as plt
    import matplotlib.animation as animation
    import numpy as np
    
    t = np.linspace(0, 6, 100)
    x = 16 * np.sin(t) ** 3
    y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)
    data=[i for i in zip(x,y)]
    
    def plot_love(data):
      x, y = data
      plt.scatter(x, y, 60, c="r", alpha=0.7, marker=r"$\heartsuit$")
    
    fig=plt.figure(figsize=(5, 3), dpi=100)
    plt.axis("off")
    animator = animation.FuncAnimation(fig, plot_love, frames=data, interval=80)
    animator.save("love.gif", writer='pillow')
    
    
    핵심 코드 해독
    
    #  AnimatedPNGWriter
    from numpngw import AnimatedPNGWriter
    
    #  AnimatedPNGWriter
    writer = AnimatedPNGWriter(fps=12)
    #  save writer AnimatedPNGWriter 
    animator.save("love.png", writer=writer)
    
    비교를 통해 알 수 있듯이numpngw+matplotlib를 사용하여 png 애니메이션을 생성하는 방식은 매우 간단합니다. AnimatedPNGWriter를 초기화하고save 함수에서 writer를 지정하면 됩니다.
    이는numpngw와 matplotlib를 사용하여 png 애니메이션을 생성하는 예시 코드에 관한 글을 소개합니다. 더 많은 관련numpngw와 matplotlib 생성 png 애니메이션 내용은 이전의 글을 검색하거나 아래의 관련 글을 계속 보십시오. 앞으로 많은 응원 부탁드립니다!

    좋은 웹페이지 즐겨찾기