在在线搜索的帮助下,我编写了以下代码。我在这里的目的是得到一个实时图,其中x轴上有时间,y轴上有一些随机生成的值。
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import time
import numpy as np
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
def animate(i):
xar = []
yar = []
x,y = time.time(), np.random.rand()
xar.append(x)
yar.append(y)
ax1.clear()
ax1.plot(xar,yar)
ani = animation.FuncAnimation(fig, animate, interval=1000)
plt.show() 使用上面的代码,我只看到y轴的范围不断变化,图形不会出现在图中。
发布于 2017-07-14 19:49:20
问题是,您从未更新过xvar和yvar。您可以通过将列表的定义移出animate的定义来做到这一点。
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import time
import numpy as np
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
xar = []
yar = []
def animate(i):
x,y = time.time(), np.random.rand()
xar.append(x)
yar.append(y)
ax1.clear()
ax1.plot(xar,yar)
ani = animation.FuncAnimation(fig, animate, interval=1000)
plt.show()https://stackoverflow.com/questions/45110424
复制相似问题