Python 如何仅显示更新/实时图表中的最后20个结果
每次向我的csv文件中添加新值时,我都会运行此脚本进行更新(这是一个从计算机中获取值的手动日志):Python 如何仅显示更新/实时图表中的最后20个结果,python,pandas,matplotlib,animation,graph,Python,Pandas,Matplotlib,Animation,Graph,每次向我的csv文件中添加新值时,我都会运行此脚本进行更新(这是一个从计算机中获取值的手动日志): 由于它是一个如此大的文件(20k行左右),因此生成的图形非常大,您无法正确读取数据。有没有办法让它只显示最近的20个读数?你可以对它进行切片或获取前n个记录。您可以在代码行之后应用以下内容:data=data.dropna() 谢谢你!这给了我一个在后面使用.tail()的想法,所以它现在的运行方式是这样的:``data=pd.read\u csv('C:/Users/Owner/Download
由于它是一个如此大的文件(20k行左右),因此生成的图形非常大,您无法正确读取数据。有没有办法让它只显示最近的20个读数?你可以对它进行切片或获取前n个记录。您可以在代码行之后应用以下内容:data=data.dropna()
谢谢你!这给了我一个在后面使用.tail()的想法,所以它现在的运行方式是这样的:``data=pd.read\u csv('C:/Users/Owner/Downloads/Manual-Log-27Nov2020-150846.csv')data=data.dropna()data=pd.DataFrame(data)data=data.tail(25)```
from itertools import count
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
plt.style.use('fivethirtyeight')
x_vals = []
y_vals = []
counter=0
index = count()
def animate(i):
data = pd.read_csv('C:/Users/Owner/Downloads/Manual-Log-27Nov2020-150846.csv')
data=data.dropna()
data['Date And Time']=data['Date']+' '+data['Time']
Date = data['Date And Time']
Temp = data['Temperature']
Pressure = data['Pressure']
pH = data['pH']
plt.cla()
plt.plot(Date, Temp, label='Temperature')
plt.plot(Date, Pressure, label='Pressure')
plt.plot(Date, pH, label='pH')
plt.legend(loc='upper left')
plt.xlabel('Date and Time')
plt.ylabel('Y Values')
plt.xticks(rotation=90)
plt.tight_layout()
ani = FuncAnimation(plt.gcf(), animate, interval=30000)
plt.tight_layout()
plt.show()
df=pd.DataFrame({'Count':[2,33,4,6,8,9],'apha':['A','B','C','D','E','F']})
df_sorted=sorted_df = df.sort_values(by=['Count'], ascending=True) # in case needed
df_limited=df_sorted.head(3) # this is one you are looking for