Python 当matplotlib从csv文件打印实时数据时,快速增加RAM

Python 当matplotlib从csv文件打印实时数据时,快速增加RAM,python,matplotlib,Python,Matplotlib,我不是一个认真的程序员,只是一个想法的爱好者。我创建了这个脚本。它从通过串行连接从真空传感器接收数据的日志文件中绘制最后60行的图形,但问题是该脚本正在快速增加RAM填充。怎么了,我做错了什么 将熊猫作为pd导入 将matplotlib.pyplot作为plt导入 将matplotlib.animation导入为动画 导入matplotlib matplotlib.use('TkAgg') 导入csv 图=plt.图() ax1=图add_子批次(1,1,1) plt子批次调整(底部=0.25)

我不是一个认真的程序员,只是一个想法的爱好者。我创建了这个脚本。它从通过串行连接从真空传感器接收数据的日志文件中绘制最后60行的图形,但问题是该脚本正在快速增加RAM填充。怎么了,我做错了什么

将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
将matplotlib.animation导入为动画
导入matplotlib
matplotlib.use('TkAgg')
导入csv
图=plt.图()
ax1=图add_子批次(1,1,1)
plt子批次调整(底部=0.25)
filename=“loggedData.txt”
最后几行=60
def更新(一):
file_data=pd.read_csv(文件名,skiprows=2,分隔符=“,”,
header=None,parse_dates=True,usecols=[0,1])
时间数据=(文件数据[0]。尾部(最后的行))
真空_数据=(文件_数据[1]。尾部(最后的_行))
#打印(扩展数据)
#打印(ydata)
#ax1.clear()
plt.cla()
ax1.绘图(时间数据、真空数据)
图autofmt_xdate(旋转=45)
ax1.设置标签(“测量时间”)
ax1.设置标签(‘真空(托)’)
plt.yscale('log')
ax1.grid(which='major',color='#cccc',linestyle='--')
ax1.grid(其中='minor',color='#cccc',linestyle=':')
ani=animation.FuncAnimation(图,更新,间隔=1000)
plt.show()

如果
loggeddata.txt
随着时间的推移而增长,那么使用
pd.read\u csv
将其加载到内存中当然会在每次调用时占用更多的RAM。如何减少这种增长,因为它在半小时内增长超过1 GB。对于我来说,只需要从日志文件中绘制最后60行。您可能可以调整跳过行,以便只读取尚未绘制的数据。这应该可以节省速度并控制ram。我不认为这是解析文件的问题,因为如果我运行带有注释的“ax1.plot(time\u data,vacuum\u data)”行的脚本,脚本工作正常,ram的速度在正常增长。不要清除轴,只需更改plot返回的行集合中的扩展数据和ydata。