Python matplotlib图形已打开,但matplotlib窗口“已打开”;“没有回应”;

Python matplotlib图形已打开,但matplotlib窗口“已打开”;“没有回应”;,python,matplotlib,serial-port,Python,Matplotlib,Serial Port,在windows中,我尝试运行此代码。串行工作正常,罗盘值转换为浮点matplotlib图形已打开,但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(n

在windows中,我尝试运行此代码。串行工作正常,罗盘值转换为浮点matplotlib图形已打开,但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)

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

尝试在“ciz,=plt.plot([],[])命令后包含此命令:

plt.ion()
plt.show()