我很难设置代码来创建实时动画图,我的代码是在收集数据后绘图,而不是每次迭代都显示。我的脚本运行一个回归函数然后存储在一个文件中,然后我访问这些文件并绘制它们,这里是我所拥有的,我需要移动或更改为实时图形?我尝试在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