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布林值
在繪圖之前從資料中刪除遺失值。
範例
呼叫建構函式會設定一個空白的子圖網格,其中每一行和一列對應於資料集中的數值變數
penguins = sns.load_dataset("penguins") g = sns.PairGrid(penguins)
將雙變數函數傳遞給
PairGrid.map()
將在每個軸上繪製雙變數圖g = sns.PairGrid(penguins) g.map(sns.scatterplot)
將不同的函數傳遞給
PairGrid.map_diag()
和PairGrid.map_offdiag()
將在對角線上顯示每個變數的邊際分佈g = sns.PairGrid(penguins) g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot)
也可以在圖形的上三角形和下三角形(否則它們是多餘的)使用不同的函數
g = sns.PairGrid(penguins, diag_sharey=False) g.map_upper(sns.scatterplot) g.map_lower(sns.kdeplot) g.map_diag(sns.kdeplot)
或完全避免多餘
g = sns.PairGrid(penguins, diag_sharey=False, corner=True) g.map_lower(sns.scatterplot) g.map_diag(sns.kdeplot)
PairGrid
建構函式接受一個hue
變數。此變數會直接傳遞給理解它的函數g = sns.PairGrid(penguins, hue="species") g.map_diag(sns.histplot) g.map_offdiag(sns.scatterplot) g.add_legend()
但是您也可以傳遞 matplotlib 函數,在這種情況下,會在內部執行 groupby,並針對每個層級繪製單獨的圖形
g = sns.PairGrid(penguins, hue="species") g.map_diag(plt.hist) g.map_offdiag(plt.scatter) g.add_legend()
可以在對應函數時直接傳遞資料向量來指派額外的語意變數
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)
當使用 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()
可以使用
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()
繪圖不一定要是正方形:可以使用不同的變數來定義列和欄。
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()
探索在對角軸上解析多個分佈的不同方法可能很有用。
g = sns.PairGrid(penguins, hue="species") g.map_diag(sns.histplot, multiple="stack", element="step") g.map_offdiag(sns.scatterplot) g.add_legend()