解决python中 pyqt5+matplotlib显示温度热力图中 界面 绘图不能刷新的问题

最后两句添加:
figure.canvas.draw()
figure.canvas.flush_events()
如果在class 类中,则为:
self.fig.canvas.draw()
self.fig.canvas.flush_events()
其中self.fig = Figure(figsize=(width, height), dpi=dpi)。

类声明的完整代码:
def plot_diagram(self,rcvdata):

    tuple_temp = struct.unpack('!1024h', rcvdata)
    temperature_list = list(tuple_temp)
    for i in range(len(temperature_list)):
        temperature_list[i] = (temperature_list[i] - 2731) / 10.0
    temperature = numpy.array(temperature_list).reshape(32, 32)
    print(temperature)

    #temperature = [[1,2,3,9],[2,3,4,5],[3,4,5,6],[6,7,8,9]]
    # 作图并选择热图的颜色填充风格,这里选择hot
    im = self.axes.imshow(temperature, cmap='jet')
    self.fig.canvas.draw()
    self.fig.canvas.flush_events()
    print('show run')
    # im=plt.imshow(data)
    # 增加右侧的颜色刻度条
    #plt.colorbar(im)
    # 增加标题
    #plt.title("This is a title", fontproperties=font)
    # show
    #plt.show()
    #t = np.arange(0.0, 3.0, 0.01)
    #s = np.sin(2 * np.pi * t)
    #self.axes.plot(t, s)

你可能感兴趣的:(其他)