Matplotlib создает анимированный график в реальном времени
Я с трудом настраиваю свой код для создания анимированного графика в реальном времени, мой код отображается после сбора данных, а не показывает каждую итерацию. Мой скрипт запускает функцию регрессии, затем сохраняет в файле, затем я получаю доступ к файлам и строю их, вот что у меня есть, что мне нужно переместить или изменить, чтобы иметь график в реальном времени? Я пытался переместить сюжетные функции внутри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