PPT如何制作数据流动画

格式:PPT ? 页数:54 ? 上传日期: 03:03:43 ? 瀏览次数:7 ? ? 1500积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

很多时候需要在程序运行过程中查看一些数据的动态变化,最容易想到的是像opencv那样直接循环使用imshow()形成动态画面但是由于matplotlib中的显示模式是阻塞模式,在plt.show()之后程序就会暂停在那打开一个窗口以后必须关掉才能继续执行,这样用matplotlib画动态图就像播放ppt关闭一个窗口后弹出下一个。关于matplotlib包的任何信息都可以直接在它查询本文总结了几种方法实现在程序运行中绘制动态图的方法,以画动态正弦曲线为例

第一种方法:plt.show()放在程序最后

既然plt.show会阻塞後面的程序,那么就把plt.show放在程序最后另外要在每次plot以前清除上次显示结果,并让画图窗口暂停一段时间来显示

还可以用plt.draw()代替plt.show(),plt.draw放置的位置就比较多了也要在程序中清除上次显示结果,并让画图窗口暂停一段时间来显示画正弦函数动态图例子如下:

另一种方法是在程序前面用plt.ion()开启交互模式,交互模式下plot之后直接显示出来不再需要用plt.show(),并且显示时画图闪现就继续执行下去因此也要让窗口暂停一段时間。同样是画正弦函数动态图例子如下:

上面代码在更新图像时都是全部重新绘图包括坐标轴以及曲线,每次更新图像可以只用更新曲線而不更新坐标轴,这样耗时更短占用资源最少。方法就是获取曲线句柄这里用plt.sraw()这种方法来举例,直接上代码:

还有一种使用FuncAnimation函数繪制动态图的方法在这。这种方法效率是最高的但是一旦执行就陷入到更新曲线的函数中去,一直不断循环更新不能执行其他代码,可以考虑放入一个线程

我要回帖

 

随机推荐