Seaborn.PairGrid 類



Seaborn.PairGrid 用於繪製資料集中的成對關係的子圖網格。此物件建立一個由許多座標軸組成的網格,其中資料集中的每個變數都對應一列和一行。

可以使用各種軸級圖表工具在上下三角形中繪製雙變數圖,對角線可以顯示每個變數的邊緣分佈。使用 pairplot,可以在一行程式碼中生成許多常見的圖。當需要更大的靈活性時,可以使用 PairGrid。

語法

以下是 seaborn.PairGrid 的語法:

class seaborn.PairGrid(**kwargs)

引數

下面討論 seaborn.PairGrid 的一些引數。

序號 名稱和描述
1 資料

接收資料框,其中每一列是一個變數,每一行是一個觀測值。

2 色調 (hue)

指定將在特定網格面上顯示的資料部分的變數。要控制此變數的級別順序,請參考 var order 引數。

3 型別 (kind)

接收來自 {‘scatter’, ‘kde’, ‘hist’, ‘reg’} 的值,並據此確定要繪製的圖的型別。

4 對角線型別 (diag_kind)

接收來自 {‘auto’, ‘hist’, ‘kde’, None} 的值,如果使用,則確定對角線子圖的圖型別。如果為 ‘auto’,則根據是否使用色調 (hue) 來選擇。

5 高度 (height)

接收標量值,並確定面的高度。

6 縱橫比 (aspect)

接收標量值,每個面的縱橫比,以便 aspect * height 給出每個面以英寸為單位的寬度。

7 角 (corner)

接收布林值,如果為 True,則不向網格的上(非對角線)三角形新增座標軸,使其成為“角”圖。

8 色調順序 (hue_order)

接收列表作為輸入,並由此順序確定分面變數的級別順序。

載入 seaborn 庫

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

Import seaborn as sns

載入資料集

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

exercise=sns.load_dataset("exercise")

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

exercise.head()

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

index,Unnamed: 0,id,diet,pulse,time,kind
0,0,1,low fat,85,1 min,rest
1,1,1,low fat,85,15 min,rest
2,2,1,low fat,88,30 min,rest
3,3,2,low fat,90,1 min,rest
4,4,2,low fat,92,15 min,rest

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

示例 1

我們將首先呼叫 PairGrid 並將資料框傳遞給它。這將產生多個圖,如下所示。

import seaborn as sns
import matplotlib.pyplot as plt
exercise=sns.load_dataset("exercise")
exercise.head()
g = sns.PairGrid(exercise)
plt.show()

輸出

獲得的圖如下所示:

seaborn pairgrid class

示例 2

在這個例子中,我們將與資料框一起將一些引數傳遞給 PairGrid。我們使用 exercise 資料集,並將繪製本質上是散點圖的圖形。

import seaborn as sns
import matplotlib.pyplot as plt
exercise=sns.load_dataset("exercise")
exercise.head()
g = sns.PairGrid(exercise)
g.map(sns.scatterplot)
plt.show()

輸出

獲得的圖如下所示。

pairgrid class

示例 3

在這個例子中,我們將繪製不同型別的圖在面板中。這可以透過 map_upper、map_lower 和 map_diag 函式來實現,這些函式用於初始化需要在網格中繪製的圖的型別。

例如,如果使用 map_upper 並將散點圖設定為型別,則網格上半部分的圖型別為散點圖,依此類推。在下面的示例中,上方的圖型別為散點圖,下方的圖型別為核密度估計 (KDE) 圖,其餘的是經驗累積分佈函式 (ecdf) 圖。

import seaborn as sns
import matplotlib.pyplot as plt
exercise=sns.load_dataset("exercise")
exercise.head()
g=sns.PairGrid(exercise)
g.map_upper(sns.scatterplot)
g.map_lower(sns.kdeplot)
g.map_diag(sns.ecdfplot)
plt.show()

輸出

獲得的輸出如下:

pairgrid.jpg
seaborn_multi_plot_grids_introduction.htm
廣告
© . All rights reserved.