Построение живого графика в Spyder с использованием файлов данных panda и нескольких переменных

Я в значительной степени новичок в Python, но пытаюсь что-то понять. В основном у меня есть файл CSV для ручного журнала, около 20 тыс. Строк, и я хочу, чтобы он был нанесен на график, чтобы при вводе новых значений график обновлялся. Мне удалось отсортировать файлы данных с помощью Panda и комбинировать поля даты / времени, потому что я хочу, чтобы это было моей осью x. Кажется, не могу понять, как правильно передать эти поля в функцию анимации, поскольку при запуске скрипта оно просто оказывается пустым. Это то, что я пробовал до сих пор, просмотрев кучу руководств и т. Д.:

      from itertools import count
import time
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import pandas as pd

plt.style.use('fivethirtyeight')

x_values = []
y_values = []
z_values = []
q_values = []

counter = 0 
index = count()

med_path = ("C:/Users/Owner/Downloads/Manual-Log-27Nov2020-150846.csv")
med = pd.read_csv(med_path)
df= pd.DataFrame(med)
df=df.dropna()
df['Date And Time']=df['Date']+' '+df['Time']

def animate(i):

    x = next(df['Date And Time'])
    counter = next(index)
    print(counter)
    x_values.append(x)
    y = df['Temperature']
    z = df['Pressure']
    q = df['pH']
   
    y_values.append(y)
    z_values.append(z)
    q_values.append(q)
   
    if counter >20:
        
        x_values.pop(0)
        y_values.pop(0)
        z_values.pop(0)
        q_values.pop(0)
        
        plt.cla() 

    plt.plot(x_values, y_values, 'blue',linestyle='--')
    plt.plot(x_values, q_values, 'red',linestyle='--')
    plt.plot(x_values, z_values, 'green',linestyle='--')
          
    time.sleep(.25)

fig = plt.figure()
   
ani = FuncAnimation(plt.gcf(), animate, 5000)


plt.tight_layout()
plt.show()

Есть идеи, где я ошибаюсь? Я предполагаю, что заменил поля не в том месте или что-то в этом роде, но, как я уже сказал, я новичок в этом

0 ответов

Другие вопросы по тегам