前提・実現したいこと
pythonのアニメーションをやろうとしているのですが,うまくいきません.
かれこれ3時間ほどしれべているのですがよくわかりませんでした.
どなたか教えていただきたいです.
発生している問題・エラーメッセージ
raceback (most recent call last):
File "C:\Users\haird\Miniconda3\lib\site-packages\matplotlib\cbook_init_.py", line 216, in process
func(*args, **kwargs)
File "C:\Users\haird\Miniconda3\lib\site-packages\matplotlib\animation.py", line 953, in _start
self._init_draw()
File "C:\Users\haird\Miniconda3\lib\site-packages\matplotlib\animation.py", line 1732, in _init_draw
self._draw_frame(next(self.new_frame_seq()))
File "C:\Users\haird\Miniconda3\lib\site-packages\matplotlib\animation.py", line 1758, in _draw_frame
raise RuntimeError('The animation function must return a '
RuntimeError: The animation function must return a sequence of Artist objects.
該当のソースコード
python
1%matplotlib inline 2 3import random 4fig = plt.figure() 5 6xlim = [0,100] 7X, Y = [], [] 8 9def plot(data): 10 plt.cla() # 前のグラフを削除 11 12 Y.append(random.random()) # データを作成 13 X.append(len(Y)) 14 15 if len(X) > 100: # 描画範囲を更新 16 xlim[0]+=1 17 xlim[1]+=1 18 19 plt.plot(X, Y) # 次のグラフを作成 20 plt.title("sample animation (real time)") 21 plt.ylim(-1,2) 22 plt.xlim(xlim[0],xlim[1]) 23 24 25# 10msごとにplot関数を呼び出してアニメーションを作成 26ani = animation.FuncAnimation(fig, plot, interval=100, blit=True) 27#ani.save('sample2.gif', writer='imagemagick') 28plt.show()
試したこと
%matplotlib inline
%matplotlib nbagg
がjupyter上で実行するときに必要という記述を見たので入れたのですがエラーが出ます.
また,vscodeで実行しているのですが,これも影響しているのでしょうか.
セルごとに#%%をつけて実行していく感じです.
追記
jupyter notebook 上では動きませんでしたが,.pyファイルとしてターミナルで実行すると
うまくいきました.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/18 09:05 編集
2019/11/18 09:16 編集
2019/11/18 10:01
2019/11/18 10:16
2019/11/22 06:33