簡體   English   中英

帶有matplotlib的CSV文件中的實時圖形圖

[英]Live graph plot from a CSV file with matplotlib

我按照CSV / TXT文件中的實時圖形繪圖教程進行操作,但是當我運行python程序時,沒有創建圖形,而是使終端進入繁忙模式,直到我使用Ctrl + Z退出。

由於某些原因,matplotlib中的動畫功能對我不起作用。 相反,我編寫了以下代碼,應該可以完成此工作:

import matplotlib.pyplot as plt

while True:
    pullData = open("data1.csv","r").read()
    dataArray = pullData.split('\n')
    xar = []
    yar = []
    for eachLine in dataArray:
        if len(eachLine)>1:
            x,y = eachLine.split(',')
            xar.append(x)
            yar.append(y)
    plt.plot(xar, yar)
    plt.pause(0.05)

plt.show()

但是上面的代碼不能正確地從CSV文件讀取數據點並生成錯誤的圖形。

我目前在系統上安裝了Python 3.6.5 :: Anaconda,Inc .。 有人可以幫忙嗎? 先感謝您。

您可以使用我為顯示實時數據的確切目的而開發的polt Python軟件包

假設您要在CSV文件中顯示多個數據列的實時時間序列 ,則可以將實時CSV流(標頭+實時列)通過管道傳輸到polt

(head -n1 myfile.csv; tail -fn0 myfile.csv) | polt add-source -p csv live

polt add-source -p csv live

說明

(
head -n1 myfile.csv; # output first line of CSV file (header) 
tail -fn0 myfile.csv # output new CSV data continuously
) | polt \ # pipe the data into polt
    add-source -p csv # tell polt to interpret data as CSV
    live # do the live plotting

如果您不想直接繪制時間序列,則可以查看polt Animator文檔以進一步顯示可能性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM