Python 中的 Matplotlib:用示例解釋各種繪圖

已發表: 2021-06-21

目錄

什麼是matplotlib?

在 Python 中可用的幾個庫中, python 中的 matplotlib就是這樣一個可視化庫,它有助於對數組的二維圖進行可視化。 數據可視化庫基於 NumPy 數組構建。 正是在 2002 年,John Hunter 引入了多平台數據可視化庫。 該庫提供數據的可視化和數據的圖形繪製,提供了 MATLAB 的替代方案。 Matplotlib 的 API 即應用程序編程接口,開發人員使用它們將繪圖嵌入 GUI 應用程序。

matplotlib 提供了幾個圖形圖,如條形圖、線形圖、直方圖、散點圖等。 matplotlib 繪圖提供的可視化允許直觀地訪問大量數據。 僅由於 python matplotlib 腳本的結構化特性,可以通過幾行代碼生成可視化數據圖。

兩個 API 用於覆蓋 matplotlib 腳本層:

  • Python API:它是 Python 代碼對象的層次結構。
  • OO(面向對象)API:API 提供對 Matplotlib 後端層的直接訪問。

安裝

matplotlib 庫的安裝可以通過從 Python 包索引 (PyPI) 下載 matplotlib 及其依賴項作為二進制包來完成。

可用於安裝庫的命令是

python -m pip 安裝 matplotlib

在 Windows、Linux 和 macOS 等操作系統中,matplotlib 及其依賴項以輪包的形式存在。 在這種情況下,要執行的命令是。

python -mpip install -U matplotlib

該庫也可用作未編譯的源文件,其安裝相當複雜,因為本地系統需要為操作系統提供適當的編譯器。 此外,ActiveState 平台可用於從源代碼構建 matplotlib 並將其打包用於所需的操作系統。

輸入

python中matplotlib的導入是通過命令進行的

  • 從 matplotlib 導入 pyplot 作為 plt
  • 將 matplotlib.pyplot 導入為 plt

各種情節和例子

1. Matplotlib UI 菜單

Matplotlib UI 菜單是在通過 Matplotlib 創建繪圖時生成的。 Matplotlib UI 提供了繪圖的自定義和元素的切換以及放大繪圖的能力。

2. Matplotlib 和 NumPy

NumPy是 python 下一個包,用於執行科學計算。 Matplotlib 建立在 NumPy 之上,它使用 NumPy 提供的函數來處理其數值數據和多維數組。

3. Matplotlib 和 Pandas

Pandas 是一個 python 庫,用於 matplotlib 處理數據和分析。 它不是 matplotlib 必需的依賴項,但提供了一個數據框。

Matplotlib 繪圖允許大量數據的可視化表示。 通過這些圖表,可以識別數據中存在的趨勢和特定模式,這對於建立相關性至關重要。 Matplotlib Plots基本上提供了一種推理定量信息的方法。

matplotlib 圖的一些類型是:

1.線圖:

使用兩點

  • Matplotlib 線圖是通過導入 pyplot 生成的。
  • 對於在圖中繪製點,使用plot()函數,默認情況下從一個點到另一個點繪製一條線。
  • 考慮了兩個參數來指定繪製線的點。
  • X 軸點在參數 1 中存儲為數組。
  • Y 軸點在參數 2 中存儲為數組。
  • 示例:如果必須從點 (2, 6) 到 (10, 15) 繪製一條線,則必須傳遞兩個數組,即 [2, 10] 和 [6, 15]。

示例:顯示線圖和生成圖的代碼

資源

2. 使用多點

  • 就像使用兩個點進行繪圖的方式一樣,允許在 python 中使用matplotlib繪製多個點
  • 為了繪製多個點,兩個軸上的點數應相同。
  • 輸入:

資源

3.沒有x軸點的線點

  • 如果未指定 X 軸點,則 X 軸的默認值基於 Y 軸點。
  • 輸入: 代碼將與上述用於繪製線條的代碼相同,但只有一個數組作為輸入,即 Y 軸數組。 X 軸將作為默認值。

ypoints = np.array([10, 8, 12, 20, 3, 9])

  • 生成的圖:

matplotlib 中存在各種選項,可以增加繪圖的視覺效果:

1. 標記

  • 為了增強圖表中點的視覺效果,可以使用關鍵字marker使用指定的標記
  • 標記可以是星形、圓形、點、像素、X 等。
  • 示例: plt.plot(ypoints, marker = 'o') 可用於繪製點
  • 其他標記列表顯示在以下片段中,取自

資源

  • 可以根據顏色(支持 140 種顏色)、大小和可以使用的線類型(如虛線、實線或虛線)更改標記。
  • markeredge ( mec )markerfacecolor ( mfc )命令用於為整個標記著色。
  • 它提供了僅對標記邊緣或整個標記著色的選項。
  • Markersize或簡稱ms用於設置標記的大小。

語法:plt.plot(ypoints, marker = 'o', ms = 30)

2. Matplotlib 線

  • 可以使用 linestyle、dotted 或 dashed 的選項相應地更改繪製線的樣式,這些選項表示為ls :

語法:plt.plot(ypoints, ls = ':')

  • 可以使用關鍵字color或使用c以更短的形式相應地更改線條的顏色 matplotlib 提供了 140 種支持的顏色來改變線條的顏色外觀。
  • 可以使用參數linewidthlw更改線的寬度 它是一個浮點數。
  • 使用plt.plot()函數可以在同一個圖中繪製多條線
  • grid() 函數用於將網格線添加到繪圖中。 可以添加軸參數以指定需要網格線的軸。

語法:plt.grid(axis = 'x')

  • 網格的屬性可以通過參數、顏色、線條樣式和數字相應地更改,例如顏色、線條樣式和寬度。

語法:plt.grid(color = 'green', linestyle = '–', linewidth = 0.5)

3. Matplotlib 標籤和標題

  • xlabel()ylabel()函數用於標記各自的 asex。
  • title()函數用於設置繪圖的標題。
  • 可以使用fontdict參數更改繪圖的字體屬性。
  • loc參數可用於指定標題的位置

使用subplots()函數可以在一個圖中繪製多個圖

4. Matplotlib 散點圖

  • scatter()函數可以與 pyplot 一起使用來繪製散點圖
  • 需要兩個長度相同的數組,即每個軸一個數組。
  • 例子:

資源

生成的圖

  • 顏色 c參數用於為散點圖中的點著色。
  • 顏色圖可用於指定散點圖中所需的顏色。 顏色圖中的每種顏色都有一個特定的值。 它可以通過參數 cmap 包含,然後分配顏色圖的名稱。 matplotlib 中提供了幾個內置的顏色圖。

語法:plt.scatter(x, y, c=colors, cmap='viridis')

Viridis 是 matplotlib 中可用的內置顏色圖。

  • 的大小和透明度可以通過salpha參數進行更改。
  • 顏色圖可以與不同大小的點組合。

5. Matplotlib 條形圖

  • bar()函數用於繪製條形圖 bar()函數中提到了條形佈局的參數 它繪製垂直條形圖。

  • barh()函數用於繪製水平條形圖
  • 輸入:

  • 生成的圖:

資源

  • color參數與bar ()barh()函數一起使用來設置條形顏色。

語法:plt.bar(x, y, color = “green”)。

  • width參數與bar ()barh()函數一起使用來設置條形寬度。

語法:plt.bar(x, y, width = 0.2)。

  • bar()barh()函數使用的另一個參數height ,它用於設置條形高度。

6. Matplotlib 餅圖

  • 餅圖是通過 matplotlib 庫中的 pie() 函數創建的。
  • 示例:輸入:

  • 生成的圖:

資源

  • 每個楔形都可以用參數標籤進行標記,該參數是一個帶有每個楔形標籤的數組。

語法: mylabels = [ “汽車” “自行車” “自行車 “公共汽車” ]

  • 餅圖中默認的起始角度為 X 軸,可以通過參數 startangle 進行更改。 角度以度為單位定義,默認角度為 0。
  • 使用explode 參數,可以將所需的楔形顯示為突出。 它通過一個數組指定,其中楔形的值突出,其餘值保持為 0。

語法:myexplode = [0.2, 0, 0, 0]

  • 將 shadows 參數設置為 true 將為餅圖創建陰影。
  • 顏色參數用於通過數組指定每個楔形的顏色。

語法: mylabels = [ “汽車” “自行車” “自行車 “公共汽車” ]

mycolors = [“黑色”、“hotpink”、“藍色”、“綠色””]

  • legend() 函數用於為每個楔形添加解釋。

7.直方圖

  • 直方圖用於繪製頻率分佈。
  • hist()函數用於創建直方圖,該直方圖使用數字數組來創建直方圖。
  • 示例: 輸入:上面的線將與用於繪製條形圖的線相同。

x = np.random.normal(90, 100, 200)

打印(x)

  • 生成的圖:

結論

正如文章中所討論的, python 中的 matplotlib可用於以各種樣式繪製數據。 進一步的各種選項可用於增強我們的繪圖,允許用戶根據自己的意願進行標記、調整大小和顏色。 因此,python及其庫對於當今時代的數據分析和處理是相當有幫助的。

數據科學領域的 Python 編程培訓可在upGrad提供的數據科學執行 PG 計劃課程中獲得。 如果您願意接受行業專家的培訓並探索數據科學所擁有的各種機會,您可以報名參加該課程。 該課程由 IIIT-Bangalore 提供,專為 21 至 45 歲年齡段的中級專業人士而設計。 無論性別如何,如果您屬於上述類別並夢想成為領先的數據科學家,請加入我們的行列。 對於任何援助船,我們的團隊隨時準備為您提供幫助。

Pandas 模塊的優勢在哪裡?

Pandas 是具有各種用例的最重要和最有用的 Python 模塊之一。 以下是 Pandas 模塊的一些優點。
1. Pandas 允許方便的數據過濾和子集化。
2. 代碼簡潔易懂,讓用戶更專注於核心目標。
3. 由於它是用 NumPy 編寫的,它也繼承了 NumPy 的一些有用特性。

Matplotlib 庫有什麼用途?

1. Matplotlib 庫提供了許多有用的 API 來嵌入各種類型的圖,包括直方圖、線和條形圖、散點圖和條形圖。
2. 這個強大的庫可以幫助您使用存儲在數組中的數據創建二維圖。 其簡單的代碼結構使您只需添加幾行簡單的代碼即可嵌入任何類型的繪圖。
3. 它具有面向對象的接口,使其成為 MATLAB 和 Pyplot 的強大替代品。 它是高度可定制的,但需要一些經驗才能使用高級功能。
4. 如果您需要在您的應用程序中嵌入更簡單的繪圖,那麼您應該選擇它的 MATLAB 風格的 Python 接口。 但是,如果您有復雜的繪圖,那麼它的 OOP 接口將是一個更好的選擇。