Matplotlib是用于數(shù)據(jù)可視化的最流行的Python包之一。 它是一個跨平臺庫,用于根據(jù)數(shù)組中的數(shù)據(jù)制作2D圖。 它提供了一個面向?qū)ο蟮腁PI,有助于使用Python GUI工具包(如PyQt,WxPythonotTkinter)在應(yīng)用程序中嵌入繪圖。 它也可以用于Python和IPython shell,Jupyter筆記本和Web應(yīng)用程序服務(wù)器。
本教程專為希望獲得數(shù)據(jù)可視化基礎(chǔ)知識的學(xué)員而設(shè)計。
Matplotlib是用Python編寫的,它使用了Python的數(shù)值數(shù)學(xué)擴(kuò)展NumPy。 我們假設(shè)本教程的讀者具有Python的基本知識。
本教程中的講解,示例和代碼等只是根據(jù)作者的理解來概括寫出。由于作者水平和能力有限,因此不能保證所有的編寫文章和示例均能準(zhǔn)確無誤。但是如果有遇到任何錯誤或問題,請反饋給我們,我們會及時糾正以方便后繼讀者閱讀。
本教程主要的內(nèi)容如下所示 -
Matplotlib簡介 - Matplotlib是用于數(shù)據(jù)可視化的最流行的Python包之一。 它是一個跨平臺庫,用于根據(jù)數(shù)組中的數(shù)據(jù)制作2D圖。Matplotlib開發(fā)環(huán)境 - Matplotlib及其依賴包在標(biāo)準(zhǔn)Python包存儲庫中以wheel包的形式提供,可以使用pip包管理器將Matplotlib安裝在Windows,Linux以及MacOS系統(tǒng)上。Matplotlib Anaconda開發(fā)工具 - Anaconda是Python和R編程語言的免費(fèi)開源發(fā)行版,用于大規(guī)模數(shù)據(jù)處理,預(yù)測分析和科學(xué)計算。Matplotlib Jupyter筆記本 - Jupyter是一個松散的縮寫,意思是Julia,Python和R.這些編程語言是Jupyter應(yīng)用程序的第一個目標(biāo)語言,但是現(xiàn)在,Jupyter技術(shù)還支持許多其他語言。Matplotlib Pyplot API - matplotlib.pyplot是命令樣式函數(shù)的集合,使Matplotlib像MATLAB一樣工作。每個Pyplot功能都會對圖形進(jìn)行一些更改。Matplotlib簡單畫圖 - 在Matplotlib中顯示一個簡單的角度線圖,以弧度為單位,與正弦值相對應(yīng)。Matplotlib pylab模塊 - PyLab是一個非常方便模塊,可以在單個名稱空間中批量導(dǎo)入matplotlib.pyplot(用于繪圖)和NumPy(用于數(shù)學(xué)和使用數(shù)組)。Matplotlib Figure類 - matplotlib.figure模塊包含F(xiàn)igure類。它是所有plot元素的頂級容器。Matplotlib Axes類 - Axes對象是具有數(shù)據(jù)空間的圖像區(qū)域。給定的圖形可以包含許多軸,但給定的Axes對象只能在一個圖中。軸包含兩個(或在3D情況下為三個)Axis對象。Matplotlib Multiplots - 在本章中將學(xué)習(xí)如何在同一畫布上創(chuàng)建多個子圖。
subplot()函數(shù)返回給定網(wǎng)格位置的axes對象。Matplotlib subplots()函數(shù) - Matplotlib的pyplot API有一個稱為subplots()的便捷函數(shù),它充當(dāng)實用程序包裝器,并在單個調(diào)用中幫助創(chuàng)建子圖的公共布局,包括封閉的圖形對象。Matplotlib subplot2grid()函數(shù) - Matplotlib subplot2grid()函數(shù)在網(wǎng)格的特定位置創(chuàng)建軸對象提供了更大的靈活性。它還允許軸對象跨越多個行或列。Matplotlib網(wǎng)格 - axes對象的grid()函數(shù)將圖中網(wǎng)格的可見性設(shè)置為on或off。還可以顯示網(wǎng)格的主要/次要(或兩者)刻度。Matplotlib格式化軸 - 軸的比例需要設(shè)置為對數(shù)(log)而不是正常比例。這是對數(shù)標(biāo)度。在Matplotlib中,可以通過將axes對象的xscale或vscale屬性設(shè)置為log。Matplotlib設(shè)置限制 - Matplotlib自動到達(dá)要沿著圖的x,y(以及3D圖的情況下為z軸)軸顯示的變量的最小值和最大值。但是,可以使用set-xlim()和set-ylim()函數(shù)顯式設(shè)置限制。Matplotlib設(shè)置刻度和刻度標(biāo)簽 - 刻度是表示軸上數(shù)據(jù)點的標(biāo)記。到目前為止,Matplotlib在我們之前的所有實例中都自動接管了軸上間隔點的任務(wù)。Matplotlib雙軸 - 當(dāng)繪制具有不同單位的曲線時。 Matplotlib通過twinx()和twiny()函數(shù)支持此功能。Matplotlib條形圖 - 條形圖或條形圖是一種圖表或圖形,它顯示帶有矩形條的分類數(shù)據(jù),其高度或長度與它們所代表的值成比例??梢源怪被蛩嚼L制條形。Matplotlib直方圖 - 直方圖是數(shù)值數(shù)據(jù)分布的精確表示。它是連續(xù)變量的概率分布的估計,它是一種條形圖。Matplotlib餅圖 - 餅圖只能顯示一系列數(shù)據(jù)。餅圖在一個數(shù)據(jù)系列中顯示項目的大小(稱為楔形),與項目的總和成比例。餅圖中的數(shù)據(jù)點顯示為整個餅圖的百分比。Matplotlib散點圖 - 散點圖用于繪制水平軸和垂直軸上的數(shù)據(jù)點,以試圖顯示一個變量受另一個變量影響的程度。數(shù)據(jù)表中的每一行都由一個標(biāo)記表示,該位置取決于其在X和Y軸上設(shè)置的列中的值。Matplotlib輪廓圖 - 輪廓圖(有時稱為“水平圖”)是一種在二維平面上顯示三維表面的方法。 它繪制了y軸上的兩個預(yù)測變量X Y和輪廓的響應(yīng)變量Z。 這些輪廓有時稱為z切片或等響應(yīng)值。Matplotlib二維箭頭圖 - 箭頭圖將速度矢量顯示為箭頭,其中分量(u,v)位于點(x,y)。Matplotlib箱線圖 - 箱形圖也稱為須狀圖,顯示包含最小值,第一四分位數(shù),中位數(shù),第三四分位數(shù)和最大值的一組數(shù)據(jù)的摘要。在方塊圖中,繪制從第一個四分位數(shù)到第三個四分位數(shù)的方框。垂直線穿過中間的框。須狀從每個四分位數(shù)到最小值或最大值。Matplotlib提琴圖 - 小提琴圖類似于箱形圖,除了它們還顯示不同值的數(shù)據(jù)的概率密度。這些圖包括數(shù)據(jù)中位數(shù)的標(biāo)記和表示四分位數(shù)范圍的框,如標(biāo)準(zhǔn)框圖中所示。Matplotlib三維繪圖 - Matplotlib最初設(shè)計時只考慮了二維繪圖,但是在后來的版本中,Matplotlib的二維顯示器上構(gòu)建了一些三維繪圖實用程序,以提供一組三維數(shù)據(jù)可視化工具。
28.Matplotlib 3D輪廓圖 - ax.contour3D()函數(shù)創(chuàng)建三維等高線圖。它要求所有輸入數(shù)據(jù)采用二維規(guī)則網(wǎng)格的形式,并在每個點評估Z數(shù)據(jù)。Matplotlib 3D線框圖 - 線框圖采用值網(wǎng)格并將其投影到指定的三維表面上,并且可以使得到的三維形式非常容易可視化。Matplotlib 3D曲面圖 - 曲面圖顯示指定的因變量(Y)和兩個獨立變量(X和Z)之間的函數(shù)關(guān)系。該圖是等高線圖的伴隨圖。曲面圖類似于線框圖,但線框的每個面都是填充多邊形。Matplotlib使用文本 - Matplotlib具有廣泛的文本支持,包括對數(shù)學(xué)表達(dá)式的支持,對光柵和矢量輸出的TrueType支持,具有任意旋轉(zhuǎn)的換行符分隔文本以及unicode支持。Matplotlib數(shù)學(xué)表達(dá)式 - 將任何Matplotlib文本字符串中的子集TeXmarkup放在一對美元符號($)中Matplotlib使用圖像 - Matplotlib包中的圖像模塊提供加載,重新縮放和顯示圖像所需的功能,Pillow庫支持加載圖像數(shù)據(jù)。Matplotlib僅支持PNG圖像。Matplotlib變換 - matplotlib包構(gòu)建在轉(zhuǎn)換框架之上,可以在坐標(biāo)系之間輕松移動??梢允褂盟膫€坐標(biāo)系。
Matplotlib是用于數(shù)據(jù)可視化的最流行的Python包之一。 它是一個跨平臺庫,用于根據(jù)數(shù)組中的數(shù)據(jù)制作2D圖。 Matplotlib是用Python編寫的,并使用了Python的數(shù)值數(shù)學(xué)擴(kuò)展NumPy。 它提供了一個面向?qū)ο蟮腁PI,有助于使用Python GUI工具包(如PyQt,WxPythonotTkinter)在應(yīng)用程序中嵌入繪圖。 它也可以用于Python和IPython shell,Jupyter筆記本和Web應(yīng)用程序服務(wù)器。
Matplotlib有一個名為Pylab的過程接口,它的設(shè)計類似于MATLAB,MATLAB是MathWorks開發(fā)的一種專有編程語言。 Matplotlib和NumPy可以被認(rèn)為是MATLAB的開源等價物。
Matplotlib最初由John D. Hunter于2003年編寫。目前穩(wěn)定版本是在2018年1月發(fā)布的2.2.0。