seaborn.catplot#
- seaborn.catplot(data=None, *, x=None, y=None, hue=None, row=None, col=None, kind='strip', estimator='mean', errorbar=('ci', 95), n_boot=1000, seed=None, units=None, weights=None, order=None, hue_order=None, row_order=None, col_order=None, col_wrap=None, height=5, aspect=1, log_scale=None, native_scale=False, formatter=None, orient=None, color=None, palette=None, hue_norm=None, legend='auto', legend_out=True, sharex=True, sharey=True, margin_titles=False, facet_kws=None, ci=<deprecated>, **kwargs)#
用於在 FacetGrid 上繪製類別圖形的圖層級介面。
此函數提供對多個軸級函數的存取,這些函數使用多種視覺表示來顯示數值變數與一個或多個類別變數之間的關係。
kind
參數選擇要使用的基礎軸級函數。類別散佈圖
stripplot()
(使用kind="strip"
;預設值)swarmplot()
(使用kind="swarm"
)
類別分佈圖
boxplot()
(使用kind="box"
)violinplot()
(使用kind="violin"
)boxenplot()
(使用kind="boxen"
)
類別估計圖
pointplot()
(使用kind="point"
)barplot()
(使用kind="bar"
)countplot()
(使用kind="count"
)
額外的關鍵字參數會傳遞給基礎函數,因此您應該參閱每個函數的文件以查看特定於種類的選項。
請參閱教學以獲取更多資訊。
注意
預設情況下,此函數會將其中一個變數視為類別變數,並在相關軸上的序數位置(0、1、… n)繪製資料。從 0.13.0 版本開始,可以透過設定
native_scale=True
來停用此設定。繪圖後,將返回帶有繪圖的
FacetGrid
,可以直接使用它來調整支援的繪圖詳細資訊或新增其他圖層。- 參數:
- dataDataFrame、Series、dict、array 或陣列列表
用於繪圖的資料集。如果缺少
x
和y
,則會將其解譯為寬格式。否則,它預期為長格式。- x、y、hue
data
或向量資料中的變數名稱 用於繪製長格式資料的輸入。請參閱範例以了解解譯方式。
- row、col
data
或向量資料中的變數名稱 將決定網格分面的類別變數。
- kindstr
要繪製的圖形種類,對應於類別軸級繪圖函數的名稱。選項包括:「strip」、「swarm」、「box」、「violin」、「boxen」、「point」、「bar」或「count」。
- estimator字串或可呼叫的函式,將向量對應到純量
在每個類別倉格中估計的統計函數。
- errorbar字串、(字串、數字) 元組、可呼叫的函式或 None
錯誤列方法名稱(「ci」、「pi」、「se」或「sd」),或帶有方法名稱和等級參數的元組,或是從向量對應到 (最小值,最大值) 間隔的函式,或 None 以隱藏錯誤列。請參閱錯誤列教學以取得更多資訊。
版本 v0.12.0 中的新增功能。
- n_bootint
用於計算信賴區間的自舉樣本數。
- seedint、
numpy.random.Generator
或numpy.random.RandomState
用於可重現自舉的種子或亂數產生器。
- units
data
或向量資料中的變數名稱 採樣單位的識別碼;由誤差列函數使用以執行多層自舉並考慮重複測量
- weights
data
或向量資料中的變數名稱 用於計算加權統計的資料值或欄位。請注意,權重的使用可能會限制其他統計選項。
v0.13.1 版本新增功能。
- order、hue_order字串列表
指定繪製類別層級的順序;否則將從資料物件推斷層級。
- row_order、col_order字串列表
指定網格中列和/或欄的組織順序;否則將從資料物件推斷順序。
- col_wrap整數
在此寬度「換行」欄變數,使欄刻面跨越多列。與
row
刻面不相容。- height純量
每個刻面的高度(以英吋為單位)。另請參閱:
aspect
。- aspect純量
每個刻面的縱橫比,因此
aspect * height
可得出每個刻面的寬度(以英吋為單位)。- native_scale布林值
當為 True 時,類別軸上的數值或日期時間值將保留其原始縮放,而不是轉換為固定索引。
v0.13.0 版本新增功能。
- formatter可呼叫物件
將類別資料轉換為字串的函式。會影響分組和刻度標籤。
v0.13.0 版本新增功能。
- orient“v” | “h” | “x” | “y”
圖表的方位(垂直或水平)。這通常根據輸入變數的類型來推斷,但當
x
和y
都是數值時,或者在繪製寬格式資料時,可以用來解決歧義。在 v0.13.0 版本中變更:新增 ‘x’/’y’ 作為選項,等同於 ‘v’/’h’。
- colormatplotlib 顏色
圖表中元素使用的單一顏色。
- palette調色盤名稱、列表或字典
用於
hue
變數不同層級的顏色。應該是color_palette()
可以解讀的內容,或是將色調層級對應到 matplotlib 顏色的字典。- hue_norm元組或
matplotlib.colors.Normalize
物件 當
hue
變數為數值時,套用於hue
變數的色圖的資料單位正規化。如果hue
是類別,則不相關。版本 v0.12.0 中的新增功能。
- legend“auto”、“brief”、“full” 或 False
如何繪製圖例。如果為 “brief”,則數值的
hue
和size
變數將使用均勻間隔的值樣本來表示。如果為 “full”,則每個群組都會在圖例中取得一個條目。如果為 “auto”,則根據層級數量在簡短或完整表示之間選擇。如果為False
,則不會加入圖例資料,也不會繪製圖例。v0.13.0 版本新增功能。
- legend_out布林值
如果為
True
,則會擴展圖形大小,並且圖例將繪製在圖形之外的中心右側。- share{x,y}布林值、「col」或「row」(可選)
如果為 true,則刻面將跨欄共享 y 軸和/或跨列共享 x 軸。
- margin_titles布林值
如果為
True
,則列變數的標題會繪製在最後一欄的右側。此選項為實驗性質,可能不適用於所有情況。- facet_kws字典
要傳遞到
FacetGrid
的其他關鍵字引數字典。- kwargs鍵、值配對
其他關鍵字引數會傳遞至基礎繪圖函式。
- 傳回值:
範例
預設情況下,視覺表示會是一個抖動的散佈圖
df = sns.load_dataset("titanic") sns.catplot(data=df, x="age", y="class")
使用
kind
選擇不同的表示sns.catplot(data=df, x="age", y="class", kind="box")
其中一個優點是圖例會自動放置在圖形之外
sns.catplot(data=df, x="age", y="class", hue="sex", kind="boxen")
其他關鍵字引數會傳遞至基礎 seaborn 函式
sns.catplot( data=df, x="age", y="class", hue="sex", kind="violin", bw_adjust=.5, cut=0, split=True, )
將變數指定給
col
或row
會自動建立子圖。使用height
和aspect
參數控制圖形大小sns.catplot( data=df, x="class", y="survived", col="sex", kind="bar", height=4, aspect=.6, )
對於單一子圖的圖形,很容易將不同的表示分層
sns.catplot(data=df, x="age", y="class", kind="violin", color=".9", inner=None) sns.swarmplot(data=df, x="age", y="class", size=3)
使用傳回的
FacetGrid
上的方法來調整呈現方式g = sns.catplot( data=df, x="who", y="survived", col="class", kind="bar", height=4, aspect=.6, ) g.set_axis_labels("", "Survival Rate") g.set_xticklabels(["Men", "Women", "Children"]) g.set_titles("{col_name} {col_var}") g.set(ylim=(0, 1)) g.despine(left=True)