使用 Tkinter 和 Matplotlib 配置实时图表轴

我目前正在尝试使用 Tkinter 和 Matplotlib 在窗口上创建实时图形。此图表中的数据不断附加到 CSV 文件中,并像以下示例行一样保存:

06/09/2020 19:57:53,4,2.549,3.546

第二列是第二列,第 3 列和第 4 列是我试图绘制的电压数据随时间的变化。我有一个单独的 python 脚本不断附加到这个 CSV,所以它非常大并且有很多数据点。因此,一段时间后我的图表变得非常混乱(见下图),我想将数据限制为最近 60 秒的点,并让 x 轴的刻度间隔更大,而不是在每个数据点。我还想稍微缩小图表,这样噪声看起来就不那么明显了(例如,从 0 到 5 V)。我尝试添加 plot1.xlim(t-60, t), plot2.xlim(t-60, t), plot1.ylim(0,5), plot2.ylim(0,5) 但这些都没有将限制设置为我想了。它只是放大了图表中一个非常奇怪的部分,垂直切掉了大部分图表。我应该如何配置我的图,使 y 轴从 0 变为 5,x 轴显示最近 60 秒的数据?我是 Tkinter 的新手,非常感谢任何帮助。谢谢!!!

我的屏幕图片轴真的很乱:

http://img.mukewang.com/63b532f10001584710250772.jpg

holdtom
浏览 184回答 1
1回答

POPMUISE

默认情况下,读取 CSV 文件将为您提供字符串。要修复您的代码,您必须将数据作为浮点数传递,如下所示:    tList = []    vList = []    v1List = []    for eachLine in dataList:        if len(eachLine) >1:            timedate, t, voltage, voltage1 = eachLine.split(',')            tList.append(float(t))            vList.append(float(voltage))            v1List.append(float(voltage1))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python