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