关于matplotlib以及基本的画图代码,可参考该文章:15张图入门Matplotlib。
在平时的工作中,有时我们需要画一些动态图。比如利用梯度下降去拟合一条曲线时,我们希望每隔几步就刻画一下当前拟合的曲线,从而看出拟合过程。例如:
这里我们同样使用matplotlib,通过几个实例来学习这种动态图的画法。
在matplotlib中画图有两种显示模式:
(1)阻塞模式,即必须利用plt.show()显示图片,且图片关闭之前代码将阻塞在该行。
(2)交互模式,即plt.plot()后立马显示图片,且不阻塞代码的继续运行。
Matplotlib中默认是使用阻塞模式。看一下这里用到的matplotlib中的几个函数:
plt.ion():打开交互模式
plt.ioff():关闭交互模式
plt.clf():清除当前的Figure对象
plt.cla():清除当前的Axes对象
plt.pause():暂停功能
了解了以上几个函数之后,就可以很方便的画出动态图了。原理很简单,就是一个“画图-->清理-->画图”的循环,注意这中间的pause暂停。效果如下:
=============================================================
欢迎大家拍砖、提意见。相互交流,共同进步!
==============================================================