seaborn.lmplot#
- seaborn.lmplot(data, *, x=None, y=None, hue=None, col=None, row=None, palette=None, col_wrap=None, height=5, aspect=1, markers='o', sharex=None, sharey=None, hue_order=None, col_order=None, row_order=None, legend=True, legend_out=None, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None, facet_kws=None)#
在 FacetGrid 上繪製數據和回歸模型擬合。
此函數結合了
regplot()
和FacetGrid
。它旨在作為一個方便的介面,在數據集的條件子集上擬合回歸模型。在考慮如何將變數分配到不同的 facet 時,一個通用規則是使用
hue
進行最重要的比較,然後是col
和row
。但是,請始終考慮您的特定數據集和您正在建立的視覺化的目標。有許多相互排斥的選項可用於估計回歸模型。有關更多資訊,請參閱教學。
此函數的參數涵蓋了
FacetGrid
中的大多數選項,儘管在某些情況下,您可能需要直接使用該類別和regplot()
。- 參數:
- dataDataFrame
整潔的(「長格式」)資料框架,其中每欄是一個變數,每一列是一個觀察值。
- x, y字串,選用
輸入變數;這些應該是
data
中的欄名稱。- hue, col, row字串
定義資料子集的變數,這些子集將繪製在網格中的單獨 facet 上。請參閱
*_order
參數來控制此變數的層級順序。- palette調色盤名稱、清單或字典
用於
hue
變數不同層級的顏色。應該是可以使用color_palette()
解釋的內容,或將 hue 層級對應到 matplotlib 顏色的字典。- col_wrapint
在此寬度處「包裝」欄變數,以便欄 facet 跨越多列。與
row
facet 不相容。- height純量
每個 facet 的高度(以英吋為單位)。另請參閱:
aspect
。- aspect純量
每個 facet 的長寬比,因此
aspect * height
給出每個 facet 的寬度(以英吋為單位)。- markersmatplotlib 標記程式碼或標記程式碼清單,選用
散佈圖的標記。如果是一個列表,列表中的每個標記將用於
hue
變數的每個層級。- share{x,y}bool、'col' 或 'row',選填
如果為 true,則分面將在各列之間共享 y 軸,和/或在各行之間共享 x 軸。
自 0.12.0 版本起已棄用:請使用
facet_kws
字典傳遞。- {hue,col,row}_order列表,選填
分面變數層級的順序。預設情況下,這將是層級在
data
中出現的順序,或者,如果變數是 pandas 的類別型,則為類別順序。- legendbool,選填
如果
True
且存在hue
變數,則新增圖例。- legend_outbool
如果
True
,則會擴展圖形大小,並且圖例將繪製在繪圖外部的中心右側。自 0.12.0 版本起已棄用:請使用
facet_kws
字典傳遞。- x_estimator將向量對應到純量的可呼叫函數,選填
將此函數應用於
x
的每個唯一值,並繪製產生的估計值。當x
是離散變數時,這很有用。如果指定了x_ci
,則將對此估計值進行自舉取樣,並繪製信賴區間。- x_bins整數或向量,選填
將
x
變數分組到離散的箱子中,然後估計中心趨勢和信賴區間。此分箱僅影響散佈圖的繪製方式;迴歸仍然適用於原始資料。此參數被解讀為等大小(不必等距)箱子的數量或箱子中心的位置。當使用此參數時,它表示x_estimator
的預設值為numpy.mean
。- x_ci“ci”、“sd”、[0, 100] 中的整數或 None,選填
繪製
x
離散值中心趨勢時所使用的信賴區間大小。如果為"ci"
,則遵從ci
參數的值。如果為"sd"
,則跳過自舉取樣,並顯示每個箱子中觀測值的標準差。- scatterbool,選填
如果
True
,則繪製具有基礎觀測值(或x_estimator
值)的散佈圖。- fit_regbool,選填
如果
True
,則估計並繪製與x
和y
變數相關的迴歸模型。- ci[0, 100] 中的整數或 None,選填
迴歸估計值的信賴區間大小。這將使用迴歸線周圍的半透明帶繪製。信賴區間是使用自舉取樣估計的;對於大型資料集,建議將此參數設定為 None 以避免該計算。
- n_boot整數,選填
用於估計
ci
的自舉重新取樣次數。預設值嘗試平衡時間和穩定性;對於繪圖的「最終」版本,您可能需要增加此值。- units
data
中的變數名稱,選填 如果
x
和y
觀測值嵌套在抽樣單元內,則可以在此處指定這些單元。這將在計算信賴區間時納入考量,方法是執行對單元和觀測值(在單元內)重新取樣的多層自舉取樣。這不會以其他方式影響迴歸的估計或繪製方式。- seed整數、numpy.random.Generator 或 numpy.random.RandomState,選填
用於可重現自舉取樣的種子或隨機數產生器。
- order整數,選填
如果
order
大於 1,則使用numpy.polyfit
來估計多項式迴歸。- logisticbool,選填
如果
True
,則假設y
是二元變數,並使用statsmodels
來估計邏輯迴歸模型。請注意,這比線性迴歸在計算上密集得多,因此您可能希望減少自舉重新取樣的次數 (n_boot
) 或將ci
設定為 None。- lowessbool,選填
如果
True
,則使用statsmodels
來估計非參數 lowess 模型(局部加權線性迴歸)。請注意,目前無法為此類模型繪製信賴區間。- robustbool,選填
如果
True
,則使用statsmodels
來估計穩健迴歸。這將降低離群值的權重。請注意,這比標準線性迴歸在計算上密集得多,因此您可能希望減少自舉重新取樣的次數 (n_boot
) 或將ci
設定為 None。- logxbool,選填
如果
True
,則估計 y ~ log(x) 形式的線性迴歸,但在輸入空間中繪製散佈圖和迴歸模型。請注意,x
必須為正值才能正常運作。- {x,y}_partial
data
中的字串或矩陣 在繪製之前,要從
x
或y
變數中迴歸出去的干擾變數。- truncatebool,選填
如果
True
,則迴歸線將以資料限制為界。如果False
,則會延伸至x
軸限制。- {x,y}_jitter浮點數,選填
將此大小的均勻隨機雜訊新增至
x
或y
變數。雜訊會在擬合迴歸後新增至資料副本,且僅影響散佈圖的外觀。當繪製採用離散值的變數時,這會很有幫助。- {scatter,line}_kws字典
要傳遞給
plt.scatter
和plt.plot
的其他關鍵字引數。- facet_kws字典
用於
FacetGrid
的關鍵字引數字典。
另請參閱
注意事項
regplot()
和lmplot()
函數密切相關,但前者是軸級函數,而後者是圖級函數,它結合了regplot()
和FacetGrid
。範例
請參閱
regplot()
文件,以示範指定迴歸模型的各種選項,此處也接受這些選項。在散佈圖上繪製迴歸擬合
sns.lmplot(data=penguins, x="bill_length_mm", y="bill_depth_mm")
根據另一個變數調整迴歸擬合,並使用顏色表示
sns.lmplot(data=penguins, x="bill_length_mm", y="bill_depth_mm", hue="species")
根據另一個變數調整迴歸擬合,並在子圖之間分割
sns.lmplot( data=penguins, x="bill_length_mm", y="bill_depth_mm", hue="species", col="sex", height=4, )
使用欄和列來調整兩個變數
sns.lmplot( data=penguins, x="bill_length_mm", y="bill_depth_mm", col="species", row="sex", height=3, )
允許軸限制在子圖之間變化
sns.lmplot( data=penguins, x="bill_length_mm", y="bill_depth_mm", col="species", row="sex", height=3, facet_kws=dict(sharex=False, sharey=False), )