使用Matplotlib畫動態圖實例
關於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暫停。效果如下:
還是老規矩,直接上代碼,參見GitHub:python_visual_animation.py
=============================================================
作者主頁:笑虎(Python愛好者,關注爬蟲、數據分析、數據挖掘、數據可視化等)
作者專欄主頁:擼代碼,學知識 - 知乎專欄
作者GitHub主頁:擼代碼,學知識 - GitHub
歡迎大家拍磚、提意見。相互交流,共同進步!
==============================================================
推薦閱讀:
※matplotlib.pyplot.imshow如何顯示灰度圖?
TAG:Python | Matplotlib | 数据可视化 |