Seaborn.clustermap() 方法



Seaborn.clustermap() 方法用於將資料集繪製為分層聚類的熱圖。

聚類圖是一種互動式地圖,當繪製的太多資料點過於靠近彼此,導致難以確定變化並從給定資料中得出結論時,它非常有用。它也被稱為氣泡圖,用於衡量不同位置的叢集的效能、大小和存在。

語法

以下是 seaborn.clustermap() 方法的語法:


引數

下面討論了 seaborn.clustermap() 方法的一些引數。

序號 名稱和描述
1 資料

它接受矩形資料集作為輸入。一個可以強制轉換為二維資料集的 ndarray。如果提供 Pandas DataFrame,則將使用索引和列資訊為列和行新增標籤。

2 Vmin,vmax

此可選引數接受浮點值作為輸入,這些值用作顏色對映錨點;否則,將使用資料和其他關鍵字引數來推斷它們。

3 Cmap

此可選引數接受 matplotlib 顏色或顏色列表作為輸入。它執行將資料值轉換為顏色空間的轉換。如果未指定,預設值將取決於是否設定了中心。

4 度量

接受字串值,並確定用於計算叢集的連結方法。

5 掩碼

接受布林陣列或 DataFrame,是一個可選引數。如果傳遞,則在 mask 為 True 的單元格中不會顯示資料。

6 Standard_scale

此可選引數接受整數值,一行或一列。傳遞的值確定是否標準化該維度,這需要將每一行或每一列的最大值除以其最小值。

7 {row,col}_cluster

接受布林值,如果傳遞 True,則對 {row,column} 進行聚類。

8 {row,col}_linkage

接受 numpy.ndarray 作為輸入,並使用此獲取行或列的預計算連結矩陣。

9 cbar

接受布林值,並確定是否繪製顏色條。

返回值

此方法返回一個 ClusterGrid 例項。

載入 seaborn 庫

在繼續開發繪圖之前,讓我們載入 seaborn 庫和資料集。要載入或匯入 seaborn 庫,可以使用以下程式碼行。

Import seaborn as sns

載入資料集

在本文中,我們將使用 seaborn 庫中內建的 flights 資料集。以下命令用於載入資料集。

flights=sns.load_dataset("flights")

以下命令用於檢視資料集中前 5 行。這使我們能夠了解可以使用哪些變數來繪製圖形。

flights.head()

以下是上述程式碼段的輸出。

index,year,passengers
0,1949,112
1,1949,118
2,1949,132
3,1949,129
4,1949,121

現在我們已經載入了資料集,我們將探索一些示例。

示例 1

我們使用上面提到的 flights 資料集,並且由於我們要繪製聚類圖,因此必須從資料集中彈出分類變數。因此,在這種情況下,month 列被彈出/刪除,然後生成聚類圖。然後我們將 flights 資料幀以及 figsize 和 cmap 引數傳遞給 clustermap 函式。figsize 引數確定圖的大小引數,cmap 確定圖的顏色。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
data=flights.pop('month')
sns.clustermap(flights, cmap='vlag', figsize=(7, 7))
plt.show()

輸出

seaborn clustermap method

示例 2

在此示例中,我們將 vmin 和 vmax 引數與 cmap 和資料幀一起傳遞。Vmax 和 vmin 是可選引數,接受浮點值作為輸入,這些值用作顏色對映錨點;否則,將使用資料和其他關鍵字引數來推斷它們。當傳遞這些引數時,我們將注意到圖的變化。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.clustermap(flights, cmap="mako", vmin=0, vmax=1000)
plt.show()

輸出

clustermap method

示例 3

Metric 是 seaborn 庫中 clustermap() 方法的一個非常有用的引數。它接受字串值,並確定用於計算叢集的連結方法。

在下面的程式碼中,我們將 flights 資料幀以及 metric 引數傳遞給 clustermap 函式。metric 引數採用不同的值,在此示例中,我們傳遞了相關性。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.clustermap(flights, metric="correlation")
plt.show()

輸出

clustermap

示例 4

Standard_scale 是另一個常用的引數,在下面的示例中,我們使用此引數並在 flights 資料集上獲得聚類圖。

standard_scale 是一個可選引數,接受整數值,一行或一列。傳遞的值確定是否標準化該維度,這需要將每一行或每一列的最大值除以其最小值。

import seaborn as sns
import matplotlib.pyplot as plt
flights=sns.load_dataset("flights")
flights.head()
sns.clustermap(flights, standard_scale=1,cmap="vlag")
plt.show()

輸出

執行上述程式碼行後獲得的圖如下所示:

seaborn clustermap
seaborn_matrix_plots_introduction.htm
廣告

© . All rights reserved.