seaborn.PairGrid.__init__#

PairGrid.__init__(data, *, hue=None, vars=None, x_vars=None, y_vars=None, hue_order=None, palette=None, hue_kws=None, corner=False, diag_sharey=True, height=2.5, aspect=1, layout_pad=0.5, despine=True, dropna=False)#

初始化繪圖和 PairGrid 物件。

參數:
dataDataFrame

整潔(長格式)資料框,其中每一列是一個變數,每一行是一個觀察值。

hue字串 (變數名稱)

data 中將繪圖外觀對應到不同顏色的變數。此變數將從預設的 x 和 y 變數中排除。

vars變數名稱列表

data 中要使用的變數,否則使用具有數值資料類型的每個欄。

{x, y}_vars變數名稱列表

data 中分別用於圖形的行和列的變數;也就是說,製作一個非正方形的圖形。

hue_order字串列表

調色盤中色調變數的層級順序

palette字典或 seaborn 色彩調色盤

用於對應 hue 變數的顏色集。如果是一個字典,則鍵應該是 hue 變數中的值。

hue_kwsparam -> 數值列表對應的字典

插入到繪圖呼叫中的其他關鍵字參數,讓其他繪圖屬性在色調變數的層級中變化(例如散佈圖中的標記)。

cornerbool

如果為 True,則不要將軸新增到網格的上(非對角線)三角形,使之成為「角落」圖。

height純量

每個 facet 的高度(以英寸為單位)。

aspect純量

長寬比 * 高度會得到每個 facet 的寬度(以英寸為單位)。

layout_pad純量

軸之間的間距;傳遞給 fig.tight_layout

despine布林值

從圖表中移除頂部和右側的脊柱。

dropna布林值

在繪圖之前從資料中刪除遺失值。

另請參閱

pairplot

輕鬆繪製 PairGrid 的常見用法。

FacetGrid

用於繪製條件關係的子圖網格。

範例

呼叫建構函式會設定一個空白的子圖網格,其中每一行和一列對應於資料集中的數值變數

penguins = sns.load_dataset("penguins")
g = sns.PairGrid(penguins)
../_images/PairGrid_1_0.png

將雙變數函數傳遞給 PairGrid.map() 將在每個軸上繪製雙變數圖

g = sns.PairGrid(penguins)
g.map(sns.scatterplot)
../_images/PairGrid_3_0.png

將不同的函數傳遞給 PairGrid.map_diag()PairGrid.map_offdiag() 將在對角線上顯示每個變數的邊際分佈

g = sns.PairGrid(penguins)
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot)
../_images/PairGrid_5_0.png

也可以在圖形的上三角形和下三角形(否則它們是多餘的)使用不同的函數

g = sns.PairGrid(penguins, diag_sharey=False)
g.map_upper(sns.scatterplot)
g.map_lower(sns.kdeplot)
g.map_diag(sns.kdeplot)
../_images/PairGrid_7_0.png

或完全避免多餘

g = sns.PairGrid(penguins, diag_sharey=False, corner=True)
g.map_lower(sns.scatterplot)
g.map_diag(sns.kdeplot)
../_images/PairGrid_9_0.png

PairGrid 建構函式接受一個 hue 變數。此變數會直接傳遞給理解它的函數

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_11_0.png

但是您也可以傳遞 matplotlib 函數,在這種情況下,會在內部執行 groupby,並針對每個層級繪製單獨的圖形

g = sns.PairGrid(penguins, hue="species")
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter)
g.add_legend()
../_images/PairGrid_13_0.png

可以在對應函數時直接傳遞資料向量來指派額外的語意變數

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot)
g.map_offdiag(sns.scatterplot, size=penguins["sex"])
g.add_legend(title="", adjust_subtitles=True)
../_images/PairGrid_15_0.png

當使用 seaborn 函式來實作數值色調映射時,您會希望停用對角軸上變數的映射。請注意,預設情況下,hue 變數會從顯示的變數列表中排除。

g = sns.PairGrid(penguins, hue="body_mass_g")
g.map_diag(sns.histplot, hue=None, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_17_0.png

可以使用 vars 參數來精確控制要使用的變數。

variables = ["body_mass_g", "bill_length_mm", "flipper_length_mm"]
g = sns.PairGrid(penguins, hue="body_mass_g", vars=variables)
g.map_diag(sns.histplot, hue=None, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_19_0.png

繪圖不一定要是正方形:可以使用不同的變數來定義列和欄。

x_vars = ["body_mass_g", "bill_length_mm", "bill_depth_mm", "flipper_length_mm"]
y_vars = ["body_mass_g"]
g = sns.PairGrid(penguins, hue="species", x_vars=x_vars, y_vars=y_vars)
g.map_diag(sns.histplot, color=".3")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_21_0.png

探索在對角軸上解析多個分佈的不同方法可能很有用。

g = sns.PairGrid(penguins, hue="species")
g.map_diag(sns.histplot, multiple="stack", element="step")
g.map_offdiag(sns.scatterplot)
g.add_legend()
../_images/PairGrid_23_0.png