сплошной сюжет в матплотлибе - PullRequest
3 голосов
/ 13 апреля 2020

Я пытаюсь создать непрерывный график в matplotlib, что означает, что данные поступают из файла CSV, который постоянно обновляется новыми данными. Пока что мне не удается заставить сюжет работать как непрерывное время. Мое намерение состоит в том, чтобы я хотел, чтобы со временем прохождения графа старая точка вышла из фигуры графика. Может кто-нибудь помочь мне, пожалуйста?

Это мой код:

import matplotlib.pyplot as plt
import matplotlib.animation as animation

import csv
import time



fig=plt.figure()
ax1=fig.add_subplot(1,1,1)


def animate(i):
    graph_data=open('DATA.csv')
    xs=[]
    ys=[]
    for line in graph_data:
        time,hrt=line.split(',')
        xs.append(float(time))
        ys.append(float(hrt))
    ax1.clear()
    ax1.plot(xs,ys,'b',linewidth=0.5)




ani=animation.FuncAnimation(fig,animate,interval=8)
plt.show()

1 Ответ

0 голосов
/ 13 апреля 2020

Использование Как обновить / обновить sh мой график (анимированный график) после другого цикла с помощью matplotlib?
, но открыть файл вне функции.

Внутри функции проверьте наличие новых данных. Это не так хорошо, чтобы использовать его из файла.

  • Вы можете посчитать количество строк, которые вы прочитали, и каждый раз заново открывать файл и пропускать это количество строк.

  • Вы можете проверьте отметку времени и прочитайте последнюю строку.

  • Вы можете прочитать все данные и снова построить все данные. Хорошо для небольших данных.

  • Вы можете открыть файл в двоичном режиме и проверить количество прочитанных байтов, а затем прочитать до разделителя следующей строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...