Matplotlib教學


Matplotlib是用於資料視覺化的最流行的Python包之一。 它是一個跨平台庫,用於根據陣列中的資料製作2D圖。 它提供了一個物件導向的API,有助於使用Python GUI工具包(如PyQt,WxPythonotTkinter)在應用程式中嵌入繪圖。 它也可以用於Python和IPython shell,Jupyter筆記本和Web應用程式伺服器。

面向讀者

本教學專為希望獲得資料視覺化基礎知識的學員而設計。

前提條件

Matplotlib是用Python編寫的,它使用了Python的數值數學擴充套件NumPy。 我們假設本教學的讀者具有Python的基本知識。

問題反饋

我們不能保證您在此Matplotlib教學中不會遇到任何問題。本教學中的講解,範例和程式碼等只是根據作者的理解來概括寫出。由於作者水平和能力有限,因此不能保證所有的編寫文章和範例均能準確無誤。但是如果有遇到任何錯誤或問題,請反饋給我們,我們會及時糾正以方便後繼讀者閱讀。

教學目錄

本教學主要的內容如下所示 -

  1. Matplotlib簡介 - Matplotlib是用於資料視覺化的最流行的Python包之一。 它是一個跨平台庫,用於根據陣列中的資料製作2D圖。
  2. Matplotlib開發環境 - Matplotlib及其依賴包在標準Python包儲存庫中以wheel包的形式提供,可以使用pip包管理器將Matplotlib安裝在Windows,Linux以及MacOS系統上。
  3. Matplotlib Anaconda開發工具 - Anaconda是Python和R程式設計語言的免費開源發行版,用於大規模資料處理,預測分析和科學計算。
  4. Matplotlib Jupyter筆記本 - Jupyter是一個鬆散的縮寫,意思是Julia,Python和R.這些程式設計語言是Jupyter應用程式的第一個目標語言,但是現在,Jupyter技術還支援許多其他語言。
  5. Matplotlib Pyplot API - matplotlib.pyplot是命令樣式函式的集合,使Matplotlib像MATLAB一樣工作。每個Pyplot功能都會對圖形進行一些更改。
  6. Matplotlib簡單畫圖 - 在Matplotlib中顯示一個簡單的角度線圖,以弧度為單位,與正弦值相對應。
  7. Matplotlib pylab模組 - PyLab是一個非常方便模組,可以在單個名稱空間中批次匯入matplotlib.pyplot(用於繪圖)和NumPy(用於數學和使用陣列)。
  8. Matplotlib物件導向介面 - 在物件導向的介面中,Pyplot僅用於一些功能,如圖形建立,使用者顯式建立和跟蹤圖形和軸物件。在此級別,使用者使用Pyplot建立圖形,通過這些圖形,可以建立一個或多個軸物件。
  9. Matplotlib Figure類 - matplotlib.figure模組包含Figure類。它是所有plot元素的頂級容器。
  10. Matplotlib Axes類 - Axes物件是具有資料空間的影象區域。給定的圖形可以包含許多軸,但給定的Axes物件只能在一個圖中。軸包含兩個(或在3D情況下為三個)Axis物件。
  11. Matplotlib Multiplots - 在本章中將學習如何在同一畫布上建立多個子圖。
    subplot()函式返回給定網格位置的axes物件。
  12. Matplotlib subplots()函式 - Matplotlib的pyplot API有一個稱為subplots()的便捷函式,它充當實用程式包裝器,並在單個呼叫中幫助建立子圖的公共布局,包括封閉的圖形物件。
  13. Matplotlib subplot2grid()函式 - Matplotlib subplot2grid()函式在網格的特定位置建立軸物件提供了更大的靈活性。它還允許軸物件跨越多個行或列。
  14. Matplotlib網格 - axes物件的grid()函式將圖中網格的可見性設定為on或off。還可以顯示網格的主要/次要(或兩者)刻度。
  15. Matplotlib格式化軸 - 軸的比例需要設定為對數(log)而不是正常比例。這是對數標度。在Matplotlib中,可以通過將axes物件的xscale或vscale屬性設定為log。
  16. Matplotlib設定限制 - Matplotlib自動到達要沿著圖的x,y(以及3D圖的情況下為z軸)軸顯示的變數的最小值和最大值。但是,可以使用set_xlim()和set_ylim()函式顯式設定限制。
  17. Matplotlib設定刻度和刻度標籤 - 刻度是表示軸上資料點的標記。到目前為止,Matplotlib在我們之前的所有例子中都自動接管了軸上間隔點的任務。
  18. Matplotlib雙軸 - 當繪製具有不同單位的曲線時。 Matplotlib通過twinx()和twiny()函式支援此功能。
  19. Matplotlib條形圖 - 條形圖或條形圖是一種圖表或圖形,它顯示帶有矩形條的分類資料,其高度或長度與它們所代表的值成比例。可以垂直或水平繪製條形。
  20. Matplotlib直方圖 - 直方圖是數值資料分布的精確表示。它是連續變數的概率分布的估計,它是一種條形圖。
  21. Matplotlib餅圖 - 餅圖只能顯示一系列資料。餅圖在一個資料系列中顯示專案的大小(稱為楔形),與專案的總和成比例。餅圖中的資料點顯示為整個餅圖的百分比。
  22. Matplotlib散點圖 - 散點圖用於繪製水平軸和垂直軸上的資料點,以試圖顯示一個變數受另一個變數影響的程度。資料表中的每一行都由一個標記表示,該位置取決於其在X和Y軸上設定的列中的值。
  23. Matplotlib輪廓圖 - 輪廓圖(有時稱為「水平圖」)是一種在二維平面上顯示三維表面的方法。 它繪製了y軸上的兩個預測變數X Y和輪廓的響應變數Z。 這些輪廓有時稱為z切片或等響應值。
  24. Matplotlib二維箭頭圖 - 箭頭圖將速度向量顯示為箭頭,其中分量(u,v)位於點(x,y)。
  25. Matplotlib箱線圖 - 箱形圖也稱為須狀圖,顯示包含最小值,第一四分位數,中位數,第三四分位數和最大值的一組資料的摘要。在方塊圖中,繪製從第一個四分位數到第三個四分位數的方框。垂直線穿過中間的框。鬚狀從每個四分位數到最小值或最大值。
  26. Matplotlib提琴圖 - 小提琴圖類似於箱形圖,除了它們還顯示不同值的資料的概率密度。這些圖包括資料中位數的標記和表示四分位數範圍的框,如標準框圖中所示。
  27. Matplotlib三維繪圖 - Matplotlib最初設計時只考慮了二維繪圖,但是在後來的版本中,Matplotlib的二維顯示器上構建了一些三維繪圖實用程式,以提供一組三維資料視覺化工具。
    28.Matplotlib 3D輪廓圖 - ax.contour3D()函式建立三維等高線圖。它要求所有輸入資料採用二維規則網格的形式,並在每個點評估Z資料。
  28. Matplotlib 3D線框圖 - 線框圖採用值網格並將其投影到指定的三維表面上,並且可以使得到的三維形式非常容易視覺化。
  29. Matplotlib 3D曲面圖 - 曲面圖顯示指定的因變數(Y)和兩個獨立變數(X和Z)之間的函式關係。該圖是等高線圖的伴隨圖。曲面圖類似於線框圖,但線框的每個面都是填充多邊形。
  30. Matplotlib使用文字 - Matplotlib具有廣泛的文字支援,包括對數學表示式的支援,對光柵和向量輸出的TrueType支援,具有任意旋轉的換行符分隔文字以及unicode支援。
  31. Matplotlib數學表示式 - 將任何Matplotlib文字字串中的子集TeXmarkup放在一對美元符號($)中
  32. Matplotlib使用影象 - Matplotlib包中的影象模組提供載入,重新縮放和顯示影象所需的功能,Pillow庫支援載入影象資料。Matplotlib僅支援PNG影象。
  33. Matplotlib變換 - matplotlib包構建在轉換框架之上,可以在坐標系之間輕鬆移動。可以使用四個坐標系。