我目前正在嘗試使用 Tkinter 和 Matplotlib 在窗口上創建實時圖形。此圖表中的數據不斷附加到 CSV 文件中,并像以下示例行一樣保存:06/09/2020 19:57:53,4,2.549,3.546第二列是第二列,第 3 列和第 4 列是我試圖繪制的電壓數據隨時間的變化。我有一個單獨的 python 腳本不斷附加到這個 CSV,所以它非常大并且有很多數據點。因此,一段時間后我的圖表變得非?;靵y(見下圖),我想將數據限制為最近 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 的新手,非常感謝任何幫助。謝謝?。?!我的屏幕圖片軸真的很亂:
1 回答

POPMUISE
TA貢獻1765條經驗 獲得超5個贊
默認情況下,讀取 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))
添加回答
舉報
0/150
提交
取消