如何在 Matplotlib 中根據變數為散點圖著色?


在 Python 庫的 Matplotlib 中,有幾種方法可以根據變數為散點圖著色。我們在散點函式中有三個引數,即 **cmap**、**alpha** 和 c,我們可以使用它們來更改繪圖的顏色。

Matplotlib 是 Python 中可用的庫之一,用於繪製和視覺化給定的資料。它可以用作 Numpy 庫的擴充套件來繪製陣列。此庫有一個名為 pyplot 的模組,它使資料視覺化和繪圖變得非常容易。

這個 pyplot 模組有很多函式和引數,可以幫助我們以不同的自定義功能繪製圖形。讓我們逐一看看在 Matplotlib 中根據變數為散點圖著色的每種方法。

使用顏色對映

顏色對映是用於表示連續變數的顏色範圍。顏色對映由 **cmap** 引數在散點圖中表示。

語法

以下是散點圖顏色對映引數的語法。

pyplot.scatter(x, y, cmap = color)

其中,

  • x 和 y 是要繪製的陣列。

  • **cmap** 是為散點圖著色的引數

示例

在下面的示例中,我們將兩個陣列和顏色對映值作為輸入引數傳遞給散點圖函式,然後將繪製具有定義顏色的散點圖。

import matplotlib.pyplot as plt
import numpy as np
x = np.array([20,30,40,70,50])
y = np.array([30,20,34,56,88])
z = np.random.rand(5)*10
plt.scatter(x, y, c = z, cmap = "viridis")
plt.show()

輸出

以下是 scatter() 函式的 cmap 引數的輸出,用於在 matplotlib 中根據變數為散點圖著色。

使用離散的顏色集

在這裡,我們將分配一組離散值,在其中我們可以使用顏色列表為每個值分配一個特定的顏色。我們將顏色列表傳遞給散點函式的 c 引數。

語法

以下是使用散點圖的 c 引數的語法。

import matplotlib.pyplot as plt
plt.scatter(x, y, c=list_colors)

其中,

  • **matplotlib.pyplot** 是 matplotlib 中的模組。

  • **plt** 是別名。

  • **scatter** 是函式。

  • **x, y** 是兩個陣列

  • **c** 是包含顏色列表的引數

示例

在下面的示例中,我們將兩個陣列和顏色列表作為輸入引數傳遞給 **scatter()** 函式。

import matplotlib.pyplot as plt
import numpy as np
x = np.array([[20,30,40],[70,50,89]])
y = np.array([[30,20,34],[5,6,88]])
z = np.random.rand(6)
plt.scatter(x,y,c = z)
plt.show()

輸出

使用 **scatter()** 函式為每個值繪製不同顏色的散點圖的輸出如下所示。

使用 alpha(透明度)

我們在 **scatter()** 函式中有一個 alpha 引數,它使點或多或少地透明,具體取決於變數。alpha 的值應在 0 和 1 之間。

語法

以下是使用散點圖的 alpha 引數的語法。

scatter(x,y,c = ‘color’, alpha = value)

其中,

  • **scatter()** 是 matplotlib.pyplot 模組的函式。

  • scatter()
  • **x, y** 是兩個陣列

  • **c** 是包含顏色的引數。

  • **alpha** 是顏色的值,介於 0 和 1 之間

示例

當我們將兩個陣列、c 引數的顏色和 0 和 1 範圍內的 alpha 值傳遞給 **matplotlib.pyplot** 的 scatter() 函式時,繪圖將以定義的顏色繪製,並根據值進行變化。

import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)
plt.scatter(x, y, c= 'green', alpha=z)
plt.show()

輸出

以下是 **scatter()** 函式 alpha 引數的輸出。

更新於: 2023年8月9日

3K+ 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告