seaborn.objects.Plot.pair#

Plot.pair(x=None, y=None, wrap=None, cross=True)#

透過配對多個 x 和/或 y 變數來產生子圖。

參數:
x, y資料向量或識別符的序列

將定義子圖網格的變數。

wrapint

當只使用 xy 時,使用此數量的欄(當使用 x 時)或列(當使用 y 時)在二維網格中「環繞」子圖。

crossbool

當為 False 時,將 xy 列表壓縮,使第一個子圖取得第一對,第二個取得第二對,依此類推。否則,從列表的笛卡爾積建立二維網格。

範例

透過分配 y 並配對 x 來繪製一個相依變數對多個獨立變數的圖

(
    so.Plot(mpg, y="acceleration")
    .pair(x=["displacement", "weight"])
    .add(so.Dots())
)
../_images/objects.Plot.pair_2_0.png

透過將列表傳遞給 xy 來顯示多個成對關係

(
    so.Plot(mpg)
    .pair(x=["displacement", "weight"], y=["horsepower", "acceleration"])
    .add(so.Dots())
)
../_images/objects.Plot.pair_4_0.png

當為 xy 提供列表時,傳遞 cross=False 來配對列表中的每個位置,而不是顯示所有成對關係

(
    so.Plot(mpg)
    .pair(
        x=["weight", "acceleration"],
        y=["displacement", "horsepower"],
        cross=False,
    )
    .add(so.Dots())
)
../_images/objects.Plot.pair_6_0.png

當對多個 xy 變數繪圖時,可以 wrap 子圖來產生二維網格

(
    so.Plot(mpg, y="mpg")
    .pair(x=["displacement", "weight", "horsepower", "cylinders"], wrap=2)
    .add(so.Dots())
)
../_images/objects.Plot.pair_8_0.png

配對可以與分面結合,或者在 y 上配對並在 col 上分面,或者在 x 上配對並在 row 上分面

(
    so.Plot(mpg, x="weight")
    .pair(y=["horsepower", "acceleration"])
    .facet(col="origin")
    .add(so.Dots())
)
../_images/objects.Plot.pair_10_0.png

雖然通常方便將配對變數分配為對通用 data 的引用,但也可以傳遞向量列表

(
    so.Plot(mpg["weight"])
    .pair(y=[mpg["horsepower"], mpg["acceleration"]])
    .add(so.Dots())
)
../_images/objects.Plot.pair_12_0.png

當透過諸如 Plot.label()Plot.limit()Plot.scale() 之類的方法自訂繪圖時,您可以將個別的座標變數稱為 x0x1 等等。

(
    so.Plot(mpg, y="mpg")
    .pair(x=["weight", "displacement"])
    .label(x0="Weight (lb)", x1="Displacement (cu in)", y="MPG")
    .add(so.Dots())
)
../_images/objects.Plot.pair_14_0.png