在Jupyter notebbok的单元格中使用下面的代码,我尝试更新一个简单的图形:
%reset -f
import matplotlib.pyplot as plt
import pandas as pd
from datetime import datetime
import random
from matplotlib import animation, rc
from IPython.display import HTML
import numpy as np
%matplotlib inline
fig, ax = plt.subplots()
line, = ax.plot([], [], lw=2)
# initialization function: plot the background of each frame
def init():
line.set_data([], [])
return (line,)
# animation function. This is called sequentially
def animate(i):
line.set_data([1,random.randint(100,101)], [1,random.randint(100,101)])
return (line,)
anim = animation.FuncAnimation(fig, animate, init_func=init,
frames=100, interval=20)
rc('animation', html='jshtml')
HTML(anim.to_html5_video())
但这是呈现的输出:
如何使用数据动态更新图形?
使用line.set_data([1,random.randint(100,101)], [1,random.randint(100,101)])
不是添加数据的正确方法吗?
目前,我只是尝试在调用random
的结果内进行更新,但我计划将其与REST服务的结果一起使用。