用Matplotlib在PyQt5界面绘制动态曲线、柱形、二维、三维图(下)

本文详细介绍了如何在PyQt5界面中使用Matplotlib库创建动态曲线图、柱形图、二维图和三维图。通过QTimer实现循环控制,更新图形数据时,针对不同类型的图,如曲线图使用Line2D的set_ydata()函数,柱形图使用set_height(),二维图使用set_data(),三维图则需要生成新的polys对象并调用set_verts()。通过这样的方式,可以在GUI应用中实现动态可视化效果。
摘要由CSDN通过智能技术生成

前言

上一篇介绍了如何在PyQt的界面上通过Matplotlib绘制静态的曲线图、柱形图、二维图和三维图。这一篇介绍一下如何通过数据更新实现这些图形的动态显示。

循环的实现

要实现图形或数据的动态更新,必然需要一个时间循环,在PyQt中一般通过QTimer来实现循环控制。QTimer的使用方式如下所示。

    def __init__(self,parent=None):
        super(ImgDisp,self).__init__(parent)
        self.setupUi(self)
        self.Init_Widgets()
        self.timer=QTimer()
        self.timer.start(1)
         self.ts=time.time()
        self.timer.timeout.connect(self.UpdateImgs)

我们在上一篇创建的ImgDisp类的初始函数中添加QTimer计时器。QTimer计时器的使用方法分成三步:
1、创建一个计时器:

self.timer=QTimer()

2、启动计时器,括号里的数字代表循环的周期,单位为毫秒:

self.timer.start(1)

需要注意的是,如果待循环的函数体如果在设置的周期内没有完成,那么计时器会等待循环函数体执行完后再开始下一个循环。

3、设置循环函数体:

<
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值