在 Python 中對 Seaborn 進行配對

Manav Narula 2021年7月16日
在 Python 中對 Seaborn 進行配對

在 Python 中,我們使用 seaborn 模組建立不同型別的圖形和繪圖來視覺化資料集。不同的函式建立不同型別的圖。有時單個圖可能不足以視覺化資料集,我們可能需要同時繪製多個圖。pairplot() 函式可以幫助解決這個問題。

本教程將介紹如何在 Python 中使用 seaborn 模組的 pairplot() 函式。

它基於 seaborn 中的 PairGrid 類並返回其型別的物件。它還在兩個軸上繪製資料的所有數字列,顯示不同圖的矩陣。它生成一個最終圖形,在對角線上有一個統一的圖形,在上下三角形上有一個不同的圖。

如果需要,我們可以使用 x_varsy_varspairplot() 函式中的 vars 引數指定要繪製的所需變數。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})
sns.pairplot(df)

seaborn 中的 pairplot

在上面的程式碼中,我們建立了一個 pairplot() 函式的簡單示例。請注意繪製在對角線上的不同圖形。

我們可以使用一些方法和引數來調整最終結果。hue 引數可用於繪製不同顏色的不同類別。palette 引數可以定義用於此的顏色。為所有圖形新增了一個通用圖例。我們可以在上面的例子中新增這個來區分這兩種產品。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})
sns.pairplot(df, hue = 'Product',palette = "husl")

帶有色調引數的 seaborn 中的 pairplot

我們還可以控制在上下或三角形和對角線上繪製的圖形型別。diag_kind 引數用於指定對角線的圖,其餘的 kind 引數用於指定圖。它們的值可以是 regscatterkdehist 或其他一些圖。

例如,

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns


df = pd.DataFrame({"Quantity": [5,6,7,8,5,6,7,8,5,6,7,8,5,6,7,8],
                   "Price": [9,10,15,16,13,14,15,18,11,12,14,15,16,17,18,19],
                   "Day" : [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
                   "Product": ['A','A','A','A','B','B','B','B',
                              'A','A','A','A','B','B','B','B']})
sns.pairplot(df, hue = "Product", diag_kind = 'hist', kind = 'scatter')

帶有 diag_kind 引數的 seaborn 中的 pairplot

為了自定義對角線上的各個圖,我們使用 plot_kwsdiag_kws 引數。我們將所需的自定義作為字典鍵值對傳遞。我們也可以使用 height 引數更改單個圖的高度。

此外,請記住它返回 PairGrid 類的物件,以使用該類中的方法自定義最終圖形。

Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn