使用matplotlib从CSV文件中绘制实时图形

2024-09-29 22:35:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我按照CSV/TXT文件中的tutorialon live graph绘图,但是当我运行python程序时,不会创建任何图形,相反,终端进入忙碌模式,直到我使用'Ctrl+Z'退出。在

由于某些原因,matplotlib中的animate函数对我不起作用。相反,我写了下面的代码,它应该完成这项工作:

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文件中读取数据点并生成错误的图形。在

我目前已经在系统上安装了python3.6.5::Anaconda,Inc.。有人能帮忙吗?提前谢谢你。在


Tags: 文件csv代码txt图形matplotlibpltsplit
1条回答
网友
1楼 · 发布于 2024-09-29 22:35:17

您可以使用我为显示实时数据而开发的polt Python package。在

假设您想要在一个CSV文件中显示多个数据列的实时时间序列,那么您只需通过管道将实时CSV流(header+live columns)导入polt

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

polt add-source -p csv live

解释

^{pr2}$

如果您不想直接绘制时间序列,可以检查polt Animator documentation进一步显示的可能性。在

相关问题 更多 >

    热门问题