在 Python 方面,我几乎是一个初学者,但我想弄清楚一些事情。基本上我有一个用于手动日志的 CSV 文件,所以大约有 20k 行,我希望它被绘制出来,以便在提供新值时,图表会更新。我已经设法使用 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()
关于我哪里出错的任何想法?我想我已经在错误的地方替换了字段或其他东西,但正如我所说,我对此很陌生