X、Yそれぞれに41個の座標を格納し、それらの座標を結んだグラフを原点から順次伸びるようにアニメーションをつけたい(逐次的に座標をプロットしてグラフが伸びていくようなアニメーションをつけたいです。)
のですが、以下のようなプログラムを書いたところ、実行しても何も表示されません。
プログラムのどこがおかしいか、どのようにプログラムを書けばアニメーショングラフが作成できるか、教えていただきたいです。
よろしくお願いいたします。
↓書いたプログラムです。
%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import animation
fig = plt.figure()
xlim = [0,100]
#x座標をそれぞれ格納
x= [0,2.5,4.99847707,7.49505091,9.98896104,12.47944779,14.96993454,17.45623928,19.93760466,22.41327483,24.88249568,27.34451506,29.80653444,32.2606024,34.71467036,37.16003936,39.59596452,41.99911876,44.33306983,46.54043881,48.51046569,50.01500325,51.33980141,53.56731772,55.71023597,57.35038354,58.56240759,57.35038354,58.56240759,57.35038354,58.56240759,57.35038354,58.56240759,57.35038354,58.56240759,57.35038354,58.56240759,60.7899239,63.25194328,65.75194328,68.25194328]
#y座標を格納
y = [0,0,0.08724874,0.21808863,0.39247981,0.61036917,0.82825853,1.08957969,1.39425305,1.7421858,2.13327196,2.5673924,3.00151284,3.47853533,3.95555782,4.47533705,5.03771469,5.72680808,6.62272795,7.79640686,9.33556055,11.33214933,13.45226957,14.58724582,15.87484101,17.76161496,19.94816423,17.76161496,19.94816423,17.76161496,19.94816423,17.76161496,19.94816423,17.76161496,19.94816423,17.76161496,19.94816423,18.81318798,18.37906754,18.37906754,18.37906754]
s=0
def plot(data):
plt.cla() # 前のグラフを削除 Y.append([y[s]]) # データを作成 X.append([x[s]]) plt.plot(X, Y) # 次のグラフを作成 plt.ylim(-100,100) plt.xlim(0,100) s=s+1 #次の座標を描画したい
#5msごとにplot関数を呼び出してアニメーションを作成
ani = animation.FuncAnimation(fig, plot, interval=5, blit=True)
#ani.save('sample2.gif', writer='Pillow')
plt.show()

0 コメント