【问题标题】:matplotlib figure opened but matplotlib window "not responding"matplotlib 图打开但 matplotlib 窗口“没有响应”
【发布时间】:2023-03-03 16:47:01
【问题描述】:

在 Windows 中,我尝试运行此代码。串行工作正常,罗盘值转换为浮点 ma​​tplotlib 图打开但 matplotlib 窗口“没有响应” 没有绘制任何东西。

import serial
import numpy
import matplotlib.pyplot as plt
ser = serial.Serial('COM8',9600,timeout=2)

ciz,=plt.plot([],[])

def update_ciz(ciz,newdata):
     ciz.set_xdata(numpy.append(ciz.get_xdata(),newdata))
     ciz.set_ydata(numpy.append(ciz.get_ydata(),newdata))
     plt.draw()
while (True):
     line = ser.readline()
     k=line.split(":")
     temperature=k[0]
     pressure= k[1]
     attitude=k[2]
     realAttitude=k[3]
     compass=float(k[4])
     gx=k[5]
     gy=k[6]
     gz=k[7]
     ax=k[8]
     ay=k[9]
     az=k[10]
     acond=k[11]
     update_ciz(ciz,compass)

【问题讨论】:

    标签: python matplotlib serial-port


    【解决方案1】:

    在 matplotlib 中,您需要使用“plt.show()”来显示绘图。由于您使用“plt.draw()”来更新绘图,因此您可能还想使用交互模式。

    尝试在您的“ciz,=plt.plot([],[])”命令之后包含此内容:

    plt.ion()
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 2011-01-09
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 2019-07-19
      • 2014-11-08
      • 2013-07-23
      相关资源
      最近更新 更多