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 參數選擇要使用的基礎軸級函數。

類別散佈圖

類別分佈圖

類別估計圖

額外的關鍵字參數會傳遞給基礎函數,因此您應該參閱每個函數的文件以查看特定於種類的選項。

請參閱教學以獲取更多資訊。

注意

預設情況下,此函數會將其中一個變數視為類別變數,並在相關軸上的序數位置(0、1、… n)繪製資料。從 0.13.0 版本開始,可以透過設定 native_scale=True 來停用此設定。

繪圖後,將返回帶有繪圖的 FacetGrid,可以直接使用它來調整支援的繪圖詳細資訊或新增其他圖層。

參數:
dataDataFrame、Series、dict、array 或陣列列表

用於繪圖的資料集。如果缺少 xy,則會將其解譯為寬格式。否則,它預期為長格式。

x、y、huedata 或向量資料中的變數名稱

用於繪製長格式資料的輸入。請參閱範例以了解解譯方式。

row、coldata 或向量資料中的變數名稱

將決定網格分面的類別變數。

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.Generatornumpy.random.RandomState

用於可重現自舉的種子或亂數產生器。

unitsdata 或向量資料中的變數名稱

採樣單位的識別碼;由誤差列函數使用以執行多層自舉並考慮重複測量

weightsdata 或向量資料中的變數名稱

用於計算加權統計的資料值或欄位。請注意,權重的使用可能會限制其他統計選項。

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”

圖表的方位(垂直或水平)。這通常根據輸入變數的類型來推斷,但當 xy 都是數值時,或者在繪製寬格式資料時,可以用來解決歧義。

在 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”,則數值的 huesize 變數將使用均勻間隔的值樣本來表示。如果為 “full”,則每個群組都會在圖例中取得一個條目。如果為 “auto”,則根據層級數量在簡短或完整表示之間選擇。如果為 False,則不會加入圖例資料,也不會繪製圖例。

v0.13.0 版本新增功能。

legend_out布林值

如果為 True,則會擴展圖形大小,並且圖例將繪製在圖形之外的中心右側。

share{x,y}布林值、「col」或「row」(可選)

如果為 true,則刻面將跨欄共享 y 軸和/或跨列共享 x 軸。

margin_titles布林值

如果為 True,則列變數的標題會繪製在最後一欄的右側。此選項為實驗性質,可能不適用於所有情況。

facet_kws字典

要傳遞到 FacetGrid 的其他關鍵字引數字典。

kwargs鍵、值配對

其他關鍵字引數會傳遞至基礎繪圖函式。

傳回值:
FacetGrid

傳回其上繪製有圖形的 FacetGrid 物件,以進行進一步調整。

範例

預設情況下,視覺表示會是一個抖動的散佈圖

df = sns.load_dataset("titanic")
sns.catplot(data=df, x="age", y="class")
../_images/catplot_1_0.png

使用 kind 選擇不同的表示

sns.catplot(data=df, x="age", y="class", kind="box")
../_images/catplot_3_0.png

其中一個優點是圖例會自動放置在圖形之外

sns.catplot(data=df, x="age", y="class", hue="sex", kind="boxen")
../_images/catplot_5_0.png

其他關鍵字引數會傳遞至基礎 seaborn 函式

sns.catplot(
    data=df, x="age", y="class", hue="sex",
    kind="violin", bw_adjust=.5, cut=0, split=True,
)
../_images/catplot_7_0.png

將變數指定給 colrow 會自動建立子圖。使用 heightaspect 參數控制圖形大小

sns.catplot(
    data=df, x="class", y="survived", col="sex",
    kind="bar", height=4, aspect=.6,
)
../_images/catplot_9_0.png

對於單一子圖的圖形,很容易將不同的表示分層

sns.catplot(data=df, x="age", y="class", kind="violin", color=".9", inner=None)
sns.swarmplot(data=df, x="age", y="class", size=3)
../_images/catplot_11_0.png

使用傳回的 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)
../_images/catplot_13_0.png