- Seaborn 教程
- Seaborn - 首頁
- Seaborn - 簡介
- Seaborn - 環境搭建
- 匯入資料集和庫
- Seaborn - 圖表美化
- Seaborn - 調色盤
- Seaborn - 直方圖
- Seaborn - 核密度估計
- 視覺化成對關係
- Seaborn - 繪製分類資料
- 觀測值的分佈
- Seaborn - 統計估計
- Seaborn - 繪製寬格式資料
- 多面板分類圖
- Seaborn - 線性關係
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函式參考
- Seaborn - 函式參考
- Seaborn 有用資源
- Seaborn - 快速指南
- Seaborn - 有用資源
- Seaborn - 討論
Seaborn.JointGrid 類
Seaborn.JointGrid 類用作網格,用於繪製帶有邊緣單變數圖的雙變數圖。
通常,可以使用名為 jointplot() 的圖級別介面繪製許多圖;但是,如果需要資料視覺化更靈活,則可以使用此類。從根本上說,此類設定網格並在內部儲存資料,以便更容易進行繪圖。
以下是 seaborn.JointGrid 的語法
class seaborn.JointGrid(**kwargs) __init__(self, *, x=None, y=None, data=None, height=6, ratio=5, space=0.2, dropna=False, xlim=None, ylim=None, size=None, marginal_ticks=False, hue=None, palette=None, hue_order=None, hue_norm=None)
seaborn.JointGrid 的引數
下面顯示了此類的一些引數。
| 序號 | 引數和描述 |
|---|---|
| 1 | 資料 接收資料框,其中每一列是一個變數,每一行是一個觀測值。 |
| 2 | 色調 (hue) 指定將在特定網格面上顯示的資料部分的變數。要調整此變數的級別順序,請參考變數順序引數。 |
| 3 | 型別 (Kind) 從 {‘scatter’, ‘kde’, ‘hist’, ‘reg’} 中取值,並據此確定要繪製的圖的型別。 |
| 4 | 比例 (ratio) 接收數值,並確定聯合軸高度與邊緣軸高度的比例。 |
| 5 | 高度 (Height) 接收標量值,並確定面的高度。 |
| 6 | 顏色 (Color) 接收 matplotlib 顏色作為輸入,並確定未使用色調對映時的單一顏色規範。 |
| 7 | 邊緣刻度 (Marginal_ticks) 接收布林值,如果為 False,則抑制邊緣圖的計數/密度軸上的刻度。 |
| 8 | 色調順序 (hue_order) 接收列表作為輸入,並由此順序確定分面變數的級別順序。 |
在繼續繪製圖形之前,讓我們載入 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 資料集和 x、y 列來繪製一個簡單的 JointGrid。這將生成一個空的 JointGrid 面。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.JointGrid(data=tips, x="total_bill", y="tip")
plt.show()
輸出
生成的輸出圖如下所示:
示例 2
在這個示例中,我們將在聯合網格面上繪製散點圖。散點圖繪製在面上,核密度估計圖繪製在面的邊緣。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
g = sns.JointGrid(data=tips, x="total_bill", y="tip")
g.plot(sns.scatterplot, sns.kdeplot)
plt.show()
輸出
輸出圖如下所示:
示例 3
與上述示例類似,使用 plot() 函式在聯合網格面上繪製散點圖,並在面的邊緣繪製直方圖。除此之外,還向函式傳遞了一些其他引數,例如邊緣顏色、線寬和alpha。
這裡,邊緣顏色是一個特殊引數,它接收 matplotlib 顏色或“灰色”的值。這是一個可選引數。圍繞每個點的線的色調由此引數決定。如果您傳遞“灰色”,則用於點主體 的顏色方案決定亮度。
線寬是一個接收浮點值的 引數,用於確定劃分每個單元格的線的寬度。接下來,傳遞 alpha 引數。我們可以在 plot 函式中使用 alpha 引數來修改圖表的透明度。其值預設為 1。此選項的值介於 0 和 1 之間,並且隨著值接近 0,圖表變得更加半透明和不可見。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
g = sns.JointGrid(data=tips, x="total_bill", y="sex")
g.plot(sns.scatterplot, sns.histplot, alpha=.5, edgecolor=".5", linewidth=.5)
plt.show()
輸出
現在,獲得的圖如下所示:
示例 4
還可以繪製分類圖在 JointGrid 面的邊緣。在這個示例中,我們將展示如何繪製箱線圖。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
g = sns.JointGrid(data=tips, x="total_bill", y="tip")
g.plot(sns.regplot, sns.boxplot)
plt.show()
輸出
獲得的輸出如下: