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

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

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

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

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


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