拋棄MATLAB,一本書掌握Python強大的繪圖庫Matplotlib
Python 科學可視化領域由無數(shù)的工具組成,從最通用和廣泛使用的,到更專業(yè)和更機密的。其中一些工具源自社區(qū),而另一些則是由企業(yè)開發(fā)的。有些是專門面向網(wǎng)頁制作的,有些僅面向桌面端,有些面向 3D 和大型數(shù)據(jù)處理,還有一些面向 2D 渲染。

可視化是一個復雜的過程,研究者可以先問自己幾個問題:
目標是桌面渲染還是網(wǎng)頁渲染?
- 需要復雜的 3D 渲染嗎?
- 對可視化的品質有什么要求嗎?
- 是否有非常大型的數(shù)據(jù)?
- 是否有一個相關的開發(fā)社區(qū)?
- 有文檔和教程嗎?
Matplotlib 作為 Python 語言及其數(shù)值計算庫 NumPy 的繪圖庫,與 numpy、pandas 共享數(shù)據(jù)科學三劍客的美譽,具有設計與數(shù)字化高品質、適合科學出版等優(yōu)點。它提供了一個簡單直觀的界面,是很多高級可視化庫的基礎。
近日,來自法國計算機科學研究所的研究員 Nicolas P. Rougier 編寫了一本關于使用 Python 和 Matplotlib 進行科學可視化的書籍,目前已經開放獲取渠道。

PDF 下載地址:https://hal.inria.fr/hal-03427242/document
書籍配套代碼更是上線幾天,就狂攬 5.1k star 量。

代碼地址:https://github.com/rougier/scientific-visualization-book
內容概覽
Matplotlib 第一次正式發(fā)布是在 2003 年,原作者是 John D. Hunter。之后的十幾年里,它又得到了進一步的發(fā)展和完善。如今,Matplotlib 庫已經成為 Python 科學可視化的實際標準。例如,它已被用于展示黑洞的第一張照片,并說明引力波的存在。
Matplotlib 圖由層次結構豐富的多種元素組成,最終通過構圖邏輯形成下圖所示的實際圖形。

通常上圖中的元素不是由用戶自己創(chuàng)建的,而是借助處理各種繪圖命令。例如,最簡單的 matplotlib 腳本:
- plt.plot(range(10))
- plt.show()
書中給出了一些經典案例以及用 matplotlib 創(chuàng)建其可視化結果的詳細方法。這種從基本元素開始學習掌握可視化的方法也非常適合零基礎的同學。
全書主要內容分為 4 個部分。第一部分講解了 Matplotlib 庫的基本原理,包括構成圖形的不同部分、坐標系、可用的比例和投影,并介紹了一些與排版和顏色相關的概念。第二部分講解了圖形的實際設計。首先書中介紹了一些生成圖形的簡單規(guī)則、Matplotlib 的默認設置和樣式系統(tǒng),然后該書進一步講解了圖形的布局組織 ,并探索了 Matplotlib 庫中一些可用的技巧。第三部分講解了一些更高級的概念,包括 3D 圖形、優(yōu)化、動畫和工具包。最后,第四部分給出了一系列的展示及其分析。全書的具體目錄如下:


作者簡介
這本書的作者是法國計算機科學研究所全職研究員 Nicolas P. Rougier,他的主要研究領域是認知神經科學和神經退行性疾病。他使用人工神經網(wǎng)絡研究決策、學習和認知的機理,旨在為解釋大腦正常和病理功能的醫(yī)學以及提供替代計算范式的數(shù)字科學領域提供指導。除了神經科學,他的研究興趣還包括科學可視化、計算機圖形學等。