Seaborn.jointplot() 方法



Seaborn.jointplot() 方法用於繪製資料集中的成對關係的子圖網格。此函式為 JointGrid 類提供了一個方便的介面,其中包含許多預製的繪圖型別。如果您需要更大的靈活性,則應直接使用 JointGrid,因為此包裝器旨在相對輕量級。

顧名思義,聯合圖由三個單獨的圖組成 - 一個雙變數圖,顯示因變數行為與自變數行為的差異,另一個圖位於雙變數圖上方以觀察自變數的分佈,另一個圖位於右側邊距垂直顯示因變數的分佈。

語法

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

seaborn.jointplot(*, x=None, y=None, data=None, kind='scatter', color=None, height=6, ratio=5, space=0.2, dropna=False, xlim=None, ylim=None, marginal_ticks=False, joint_kws=None, marginal_kws=None, hue=None, palette=None, hue_order=None, hue_norm=None, **kwargs)

引數

seaborn.jointplot() 方法的一些引數如下。

序號 名稱和描述
1 資料

接受資料框,其中每一列是一個變數,每一行是一個觀測值。

2 色調

指定將在某些網格面上顯示的資料部分的變數。要調整此變數的級別順序,請參閱 var order 引數。

3 種類

從 {‘scatter’, ‘kde’, ‘hist’, ‘reg’} 中獲取值,並確定要製作的繪圖型別。

4 比率

接受數值,並確定聯合軸高度與邊際軸高度的比率。

5 高度

接受標量值,並確定面的高度。

6 顏色

接受 matplotlib 顏色作為輸入,並確定未使用色調對映時的單一顏色規範。

7 邊際刻度

接受布林值,如果為 False,則抑制邊際圖中計數/密度軸上的刻度。

8 色調順序

接受列表作為輸入,並由此順序確定分面變數的級別順序。

返回值

此方法返回 JointGrid 物件,該物件管理多個子圖,這些子圖對應於聯合軸和邊際軸,用於繪製雙變數關係或分佈。

載入 seaborn 庫

在繼續開發繪圖之前,讓我們載入 seaborn 庫和資料集。要載入或匯入 seaborn 庫,可以使用以下程式碼行。

Import seaborn as sns

載入資料集

在本文中,我們將使用 seaborn 庫中內建的 Tips 資料集。以下命令用於載入資料集。

tips=sns.load_dataset("tips")

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

tips.head()

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

index,total_bill,tip,sex,smoker,day,time,size
0,16.99,1.01,Female,No,Sun,Dinner,2
1,10.34,1.66,Male,No,Sun,Dinner,3
2,21.01,3.5,Male,No,Sun,Dinner,3
3,23.68,3.31,Male,No,Sun,Dinner,2
4,24.59,3.61,Female,No,Sun,Dinner,4

現在我們已經載入了資料,我們將繼續繪製資料。

示例 1

在此示例中,我們將使用 tips 資料集並透過將此資料集中的資料傳遞給 jointplot 來繪製聯合圖。對於 x、y、hue 列,我們將分別傳遞資料集的 total_bill、tip 和 sex 列。因此獲得的圖如下所示。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.jointplot(data=tips, x="total_bill", y="tip",hue="sex")
plt.show()

輸出

獲得的圖的輸出如下:

seaborn jointplot method

示例 2

在此示例中,我們將傳遞 kind 引數並生成一個本質上是核密度估計的聯合圖。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.jointplot(data=tips, x="total_bill", y="tip",hue="sex",kind="kde")
plt.show()

輸出

獲得的圖如下所示:

jointplot method

示例 3

在此示例中,我們將使用 marginal_kws 引數,這是一個額外的關鍵字引數,它確定在面的邊距上顯示的繪圖型別。在下面的示例中,我們傳遞了 bins,這意味著將在邊距上繪製指定數量 bin 的直方圖,並且由於 fill 引數傳遞為 false,因此繪製的圖未填充。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.jointplot(
data=tips, x="total_bill", y="tip",
marker="*", s=150, marginal_kws=dict(bins=50, fill=False),
)
plt.show()

輸出

獲得的輸出如下:

jointplot

示例 4

在此示例中,我們將繪製一個聯合圖,然後使用 plot_joint 方法在現有的聯合圖上新增不同型別的圖。下面,我們為 tips 資料集繪製了一個散點圖,然後在散點圖上以紅色繪製了一個核密度估計 (KDE) 圖,如圖所示。這可以使用 plot_joint() 方法實現。

在此示例中,KDE 圖的顏色初始化為紅色,要呈現的 KDE 水平初始化為 6。

import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
g = sns.jointplot(data=tips, x="total_bill", y="tip")
g.plot_joint(sns.kdeplot, color="r", zorder=0, levels=6)
plt.show()

輸出

獲得的圖如下所示:

seaborn jointplot
seaborn_multi_plot_grids_introduction.htm
廣告

© . All rights reserved.