努金网(nujin.com)

 找回密码
 立即注册

微信登录,快人一步

查看: 34|回复: 0

[技术精华]使用Matplotlib画动态图实例笑虎不想当产品的程序员不是好 ...技术精华

[复制链接]

424

主题

7万

帖子

3293

积分

白领

Rank: 4

积分
3293
发表于 2020-10-13 15:38:11 | 显示全部楼层 |阅读模式
v2-51012a9f6bae7302aa6cbf243fa09a3a_1440w.jpg?source=172ae18b 使用Matplotlib画动态图实例 7e0d3077902609cfc42ad84579d7bf61_xs.jpg?source=172ae18b

笑虎


不想当产品的程序员不是好的数据分析师!





232 人赞同了该文章
关于matplotlib以及基本的画图代码,可参考该文章:15张图入门Matplotlib
在平时的工作中,有时我们需要画一些动态图。比如利用梯度下降去拟合一条曲线时,我们希望每隔几步就刻画一下当前拟合的曲线,从而看出拟合过程。例如:
v2-83c51d37079dd5672b5cc5bfdd776625_b.jpg


这里我们同样使用matplotlib,通过几个实例来学习这种动态图的画法。
在matplotlib中画图有两种显示模式:
(1)阻塞模式,即必须利用plt.show()显示图片,且图片关闭之前代码将阻塞在该行。
(2)交互模式,即plt.plot()后立马显示图片,且不阻塞代码的继续运行。
Matplotlib中默认是使用阻塞模式。看一下这里用到的matplotlib中的几个函数:
plt.ion()打开交互模式plt.ioff()关闭交互模式plt.clf()清除当前的Figure对象plt.cla()清除当前的Axes对象plt.pause()暂停功能
了解了以上几个函数之后,就可以很方便的画出动态图了。原理很简单,就是一个“画图-->清理-->画图”的循环,注意这中间的pause暂停。效果如下:
v2-a371ae0a5857ae0ffa036256dabf6f35_b.jpg


v2-89f5d64db836a6621dbfd1396f0500bd_b.jpg


v2-8e791c76d58a3e330069b1015777ae17_b.jpg


还是老规矩,直接上代码,参见GitHub:python_visual_animation.py



回复

使用道具 举报

 
在线客服
点击这里给我发消息
售前咨询热线
微信:gwailee
QQ:395508196

微信扫一扫,私享最新原创实用干货

QQ|Archiver|手机版|小黑屋|搜索管理|游戏管理|努金网(nujin.com) ( 沪ICP备20013403号 )

GMT+8, 2020-10-30 07:34 , Processed in 0.925421 second(s), 56 queries .

Powered by Nujin X3.4

© 2001-2017 Nujin Inc.

快速回复 返回顶部 返回列表