Animation(アニメーション)

アニメーション(Animation)を作る方法です。
>>>> はインデントです。(空白の代わり)

ArtistAnimationを使用した方法

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

fig = plt.figure()
x = np.pi*np.linspace(0, 360, num = 360) /180
ims = []

for i in range(100):
>>>> y = np.sin(x+i*0.1)
>>>> im = plt.plot(x,y,"blue")
>>>> ims.append(im)

ani = animation.ArtistAnimation(fig, ims, interval=100)
#plt.show()

ani.save("anim1.gif", writer="imagemagick")

anim1_convert_20180204210228.gif

FuncAnimationを使用した方法

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

fig = plt.figure(figsize=(10,8))
ax1 = plt.subplot(2,1,1)
ax2 = plt.subplot(2,1,2)

artists = []
im, = ax1.plot([], [], "blue")
im2, = ax2.plot([], [], "red")
p = ax1.hlines([0], 0, 2*np.pi, "blue", linestyles='dashed')
p2 = ax2.hlines([0], 0, 2*np.pi, "blue", linestyles='dashed')
x = np.pi*np.linspace(0, 360, num = 360) /180
ax1.set_xlim(0, 2*np.pi)
ax1.set_ylim(-1.5, 1.5)
ax2.set_xlim(0, 2*np.pi)
ax2.set_ylim(-1.5, 1.5)

def update_anim(frame):
>>>> y = np.sin(x+frame)
>>>> y2 = np.cos(x+frame)
>>>> im.set_data(x, y)
>>>> im2.set_data(x, y2)

anim = FuncAnimation(fig, update_anim, blit=False)
#plt.show()
anim.save('anim.gif', writer='imagemagick', fps=4)

anim2_convert_20180204203231.gif

  • 最終更新:2018-02-04 21:10:12

このWIKIを編集するにはパスワード入力が必要です

認証パスワード