Python 如何将外部设备输出绘制成图形?
我有一个连接到Python的Phidgets差压传感器设备,并使用模板代码输出压力。我让它工作,它将压力值输出到控制台。然而,我正在寻找输出值的图表,并绘制一个与时间的线性图。有人知道怎么做吗?我已经附加了我正在使用的代码Python 如何将外部设备输出绘制成图形?,python,matplotlib,phidgets,Python,Matplotlib,Phidgets,我有一个连接到Python的Phidgets差压传感器设备,并使用模板代码输出压力。我让它工作,它将压力值输出到控制台。然而,我正在寻找输出值的图表,并绘制一个与时间的线性图。有人知道怎么做吗?我已经附加了我正在使用的代码 from Phidget22.Phidget import * from Phidget22.Devices.VoltageRatioInput import * import time def onSensorChange(self, sensorValue, senso
from Phidget22.Phidget import *
from Phidget22.Devices.VoltageRatioInput import *
import time
def onSensorChange(self, sensorValue, sensorUnit):
print("SensorValue: " + str(sensorValue))
def main():
voltageRatioInput4 = VoltageRatioInput()
voltageRatioInput4.setChannel(4)
voltageRatioInput4.setOnSensorChangeHandler(onSensorChange)
voltageRatioInput4.openWaitForAttachment(5000)
voltageRatioInput4.setSensorType(VoltageRatioSensorType.SENSOR_TYPE_1139)
try:
input("Press Enter to Stop\n")
except (Exception, KeyboardInterrupt):
pass
voltageRatioInput4.close()
main()
它正在输出传感器值
传感器值:0.223
这就是我想要的。然而,它并没有将它保存到某种形式的变量中,这样我就可以根据时间绘制它。任何获取值的尝试都会导致
NameError:未定义名称“sensorValue”
有人知道如何将sensorValue中的值输入数组变量吗?
当我有MATLAB作业时,总是躲在stackoverflow周围。我又回到这里需要帮助做Python作业了,呵呵。感谢您的帮助 您应该使用一些变量来保存历史记录。由于在函数内部创建的变量只存在于函数内部,所以可以使用全局变量从外部创建变量
...
history = []
def onSensorChange(self, sensorValue, sensorUnit):
global history
history.append( sensorValue )
print("SensorValue: " + str(sensorValue))
print("History of values: ", history)
...
查看调用onSensorChange函数时历史记录是如何变化的。虽然这段代码可能提供了一个问题的解决方案,但最好添加上下文说明它为什么/如何工作。这可以帮助未来的用户学习,并将这些知识应用到他们自己的代码中。在解释代码时,您也可能会收到来自用户的正面反馈,形式为UPVOUTS。谢谢!看起来学习“全局”和“附加”是关键功能。我想在这里提出一些建议,但由于我没有一个“完整”的答案(带有代码),我将坚持评论。将此问题分解为两个脚本:1)记录数据,2)将数据导入打印系统。对于第一个脚本,您可以根据自己的情况编写或聚合每单位时间(分钟)。一旦您这样做了,您就可以使用一些不同的通用python代码来读取文件并绘制数据。将这些域分开将使代码更清晰,维护更容易。