Seaborn.lmplot() 方法



Seaborn.lmplot() 方法用於繪製資料並在網格上繪製迴歸模型擬合,其中可以繪製多個圖。

此函式結合了 FacetGrid 和 regplot()。此介面的目的是使跨資料集的條件子集擬合迴歸模型變得簡單方便。

在考慮如何將變數分配到各個方面時,一種典型的方法是:hue 適用於最重要的比較,其次是 col 和 row。

語法

以下是 seaborn.lmplot() 方法的語法:

seaborn.lmplot(*, x=None, y=None, data=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, size=None)

引數

seaborn.lmplot() 方法的部分引數如下:

序號 引數和描述
1 x,y

這些引數接受變數名稱作為輸入,以繪製長格式資料。

2 data

這是用於繪製圖形的資料框。

3 x_estimator

這是一個可呼叫的函式,它接受值並將向量對映到標量。這是一個可選引數。每個不同的 x 值都應用於此函式,並繪製估計值作為結果。當 x 是離散變數時,這很有用。如果提供了 x_ci,則此估計值將進行自舉,並繪製置信區間。

4 x_bins

此可選引數接受整數或向量作為輸入。x 變數被分成離散的箱,然後估計中心趨勢和置信區間。

5 {x,y}_jitter

此可選引數接受浮點值。向 x 或 y 變數新增此大小的均勻隨機噪聲。

6 color

用於指定單一顏色,此顏色應用於所有繪圖元素。

7 marker

這是用於在圖形中繪製資料點的標記。

8 x_ci

接受來自 “ci”、“sd”、[0, 100] 中的整數或 None 的值。這是一個可選引數。

傳遞給此引數的值決定了在繪製離散 x 值的中心趨勢時使用的置信區間的尺寸。

9 logx

接受布林值,如果為 True,則在輸入空間中繪製散點圖和迴歸模型,同時還估計 y log(x) 型別的線性迴歸。為此有效,x 必須為正。

10 hue,row,col

這些引數接受字串作為輸入,這些變數定義將在網格的單獨方面上繪製的資料子集。

在繼續繪製圖形之前,讓我們載入 seaborn 庫和資料集。

載入 seaborn 庫

要載入或匯入 seaborn 庫,可以使用以下程式碼行。

Import seaborn as sns

載入資料集

在本文中,我們將使用 seaborn 庫中內建的泰坦尼克號資料集。使用以下命令載入資料集。

titanic=sns.load_dataset("titanic")

以下命令用於檢視資料集中前 5 行。這使我們能夠理解可以使用哪些變數來繪製圖形。

titanic.head()

以下是上述程式碼的輸出。

index,survived,pclass,sex,age,sibsp,parch,fare,embarked,class,who,adult_male,deck,embark_town,alive,alone
0,0,3,male,22.0,1,0,7.25,S,Third,man,true,NaN,Southampton,no,false
1,1,1,female,38.0,1,0,71.2833,C,First,woman,false,C,Cherbourg,yes,false
2,1,3,female,26.0,0,0,7.925,S,Third,woman,false,NaN,Southampton,yes,true

現在我們已經載入了資料集,我們將探索一些示例。

示例 1

我們在本文中使用泰坦尼克號資料集。我們將 fare、age 和 class 列分別傳遞給 x、y 和 hue 引數。可以使用以下程式碼行來做到這一點。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.lmplot(x="fare", y="age", hue="class",data=titanic)
plt.show()

輸出

生成的輸出如下所示。

Seaborn lmplot method

正如迴歸圖簡介章節中所解釋的,lmplot() 方法在可能繪製多個圖的情況下繪製圖形,即:當將 hue 語義對映應用於資料集時,會繪製迴歸線。

示例 2

在這個例子中,我們將看到 lmplot() 方法的 markers 引數的用法。此方法接受字串列表或字串作為輸入,最終圖形中繪製的觀測值根據傳遞給此引數的字串而定。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.lmplot(x="fare", y="age", hue="who",data=titanic,markers=["o", "x","*"])
plt.show()

(有關不同型別的標記,可以參考此 URL。

#https://matplotlib.org/3.1.0/api/markers_api.html 用於不同型別的標記。)

輸出

上述程式碼行的繪圖如下:

lmplot method

示例 3

在這個例子中,我們將瞭解當 col 值與 x、y 和 hue 引數一起傳遞給 lmplot() 方法時,繪圖將如何變化。由於我們使用的是泰坦尼克號資料集,因此我們將 age、fare、who 和 class 列分別傳遞給 x、y、hue 和 col 引數。可以使用以下程式碼行來做到這一點。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.lmplot(y="fare", x="age", hue="who",col="class",data=titanic)
plt.show()

輸出

生成的輸出圖如下所示。

lmplot

示例 4

現在,我們將看到seaborn.lmplot() 方法中其他一些引數的用法。palette 引數接受 palette 名稱、列表或字典作為值。這些顏色用於 hue 變數的不同級別。

這些值應該是 color_palette() 可以解釋的值,或者是一個將 hue 級別對映到 matplotlib 顏色的字典。在下面的示例中,將 flare 傳遞給 palette,可以觀察到獲得的輸出圖。

import seaborn as sns
import matplotlib.pyplot as plt
titanic=sns.load_dataset("titanic")
titanic.head()
sns.lmplot(y="fare", x="age", hue="who",col="class",row="alive",data=titanic,markers=["o", "x","*"],palette="flare")
plt.show()

輸出

獲得的圖如下所示:

seaborn lmplot implot
seaborn_regression_plots_introduction.htm
廣告
© . All rights reserved.