python - 如何在单个图表中绘制实时图表?
问题描述
我正在尝试使用 python 显示实时图表(动态绘图)。但是,结果并没有显示在单个图表中,而是每秒生成一个新的图表,这并不意味着更新实时图表。我该如何解决?我的代码有问题吗?
import serial
import time
import matplotlib.pyplot as plt
from drawnow import drawnow
DataList = []
pcs = serial.Serial('COM4', baudrate = 9600, timeout = 1)
time.sleep(3)
plt.ion()
def makeFig():
plt.plot(DataList, 'rd-')
def getValues():
pcs.write(b"MEASure:VOLTage:DC?\n")
pcsData = pcs.readline().decode('ascii').split('\n\r')
DataList.append(float(pcsData[0]))
while(1):
getValues()
drawnow(makeFig)
plt.pause(.000001)
解决方案
以drawnow
这种方式调用被设计为一次性抽签。查看是否drawnow(caller, show_once=True)
可以解决您的问题,否则您可能需要查看其他地方 - 例如使用替代绘图功能:
推荐阅读
- javascript - How can i get link from MSO code via javascript
- azure-devops - 来自 azure devops 的 teamcity 的服务挂钩 URL 返回 404
- javascript - 在网络工作者中解码图像
- php - 如何使用php将每个特定值之后的不同值添加到字符串中
- javascript - 使用JS从表单中获取所有输入ID
- python - 我有一个有 4 个角的多边形,而不是一个正方形。如何在python中获得较小部分的纬度和经度?
- mongodb - $match 并在 MongoDB 中 $unwind 之后更新对象中的某个键
- php - 需要 TCPDF 的空白页
- c# - 我在数据集中有两个数据表。我通常登录和退出。当我回去时,其中一个数据表是空的
- reactjs - 如何解决 Reactstrap Navbar 代码问题