如何在 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 引數的輸出。
