- Seaborn 教程
- Seaborn - 首頁
- Seaborn - 簡介
- Seaborn - 環境搭建
- 匯入資料集和庫
- Seaborn - 圖表美化
- Seaborn - 調色盤
- Seaborn - 直方圖
- Seaborn - 核密度估計
- 視覺化成對關係
- Seaborn - 繪製分類資料
- 觀測值的分佈
- Seaborn - 統計估計
- Seaborn - 繪製寬格式資料
- 多面板分類圖
- Seaborn - 線性關係
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函式參考
- Seaborn - 函式參考
- Seaborn 有用資源
- Seaborn - 快速指南
- Seaborn - 有用資源
- Seaborn - 討論
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()
輸出
獲得的圖如下所示:
示例 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()
輸出
獲得的圖如下所示。
示例 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()
輸出
獲得的輸出如下: