我在设置代码以创建实时动画图表方面遇到了困难。我的代码是在收集数据后绘制图形,而不是在每次迭代时显示图形。我的脚本运行回归函数,然后将其存储在文件中,然后我访问这些文件并绘制它们。以下是我所拥有的内容,请问我需要移动或更改什么才能实现实时绘图呢?我已尝试将绘图函数移动到
for
循环内,但没有成功,您有什么建议吗? fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
num = 10
for idx in range(1,num):
c,e = Regr_magic()
with open("CK_output.txt",'a') as CK:
CK.write("{0},{1}\n".format(idx,c))
with open("error_output.txt",'a') as E:
E.write("{0},{1}\n".format(idx,e))
def animate(i):
pull = open('error_output.txt','r').read()
data = pull.split('\n')
xar = []
yar = []
for each in data:
if len(each)>1:
x,y = each.split(',')
xar.append(float(x))
yar.append(float(y))
ax1.plot(xar, yar)
ani = animation.FuncAnimation(fig, animate, interval=1000)
plt.show()
提供信息,数据文件包含以下内容:迭代次数和Ck值或错误,因此它们看起来像这样:
1,.0554
2,.0422
3,.0553
4,.0742
5,.0232
frames
需要成为一个生成器,逐个产生值。 - Mike Müllerc, e=Regr_magic()
是一个返回两个不同变量的函数。 - octainyield Regr_magic()
。注意大写字母R
。 - Mike Müller