seaborn.objects.Plot#

class seaborn.objects.Plot(*args, data=None, x=None, y=None, color=None, alpha=None, fill=None, marker=None, pointsize=None, stroke=None, linewidth=None, linestyle=None, fillcolor=None, fillalpha=None, edgewidth=None, edgestyle=None, edgecolor=None, edgealpha=None, text=None, halign=None, valign=None, offset=None, fontsize=None, xmin=None, xmax=None, ymin=None, ymax=None, group=None)#

用於宣告式指定統計圖形的介面。

圖形透過初始化此類別並添加一或多個圖層來建構,這些圖層包含 Mark 和可選的 StatMove。此外,可以定義分面變數或變數配對,以將空間劃分為多個子圖。資料值到視覺屬性的映射可以使用比例來參數化,但當未明確定義比例時,圖形會嘗試推斷良好的預設值。

建構函式接受資料來源(pandas.DataFrame 或具有欄狀值的字典)和變數賦值。變數可以作為資料來源的鍵或直接作為資料向量傳遞。如果提供多個包含資料的物件,它們將會進行索引對齊。

建構函式中定義的資料來源和變數將用於圖形中的所有圖層,除非在添加圖層時覆蓋或停用。

以下變數可以在建構函式中定義

xycoloralphafillmarkerpointsizestrokelinewidthlinestylefillcolorfillalphaedgewidthedgestyleedgecoloredgealphatexthalignvalignoffsetfontsizexminxmaxyminymaxgroup

dataxy 變數可以作為位置參數或使用關鍵字傳遞。第一個位置參數是否被解釋為資料來源或 x 變數取決於其類型。

此類別的方法會回傳實例的副本;使用鏈式調用,透過多次呼叫來建立圖表。方法可以以任何順序呼叫。

大多數方法只會將資訊添加到圖表規格中;直到圖表顯示或儲存之前,不會發生實際的處理。也可以在不渲染的情況下編譯圖表,以存取較低層級的表示。

方法#

規格方法

add

根據標記和資料轉換,指定視覺化的圖層。

scale

指定從資料單位到視覺屬性的映射。

子圖方法

facet

使用資料的條件子集產生子圖。

pair

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

自訂方法

layout

控制圖形大小和佈局。

label

控制軸、圖例和子圖的標籤和標題。

limit

控制可見資料的範圍。

share

控制子圖之間軸限制和刻度的共享。

theme

控制圖表中元素的樣式。

整合方法

on

提供現有的 Matplotlib 圖形或軸,用於繪製圖表。

輸出方法

plot

編譯圖表規格並回傳 Plotter 物件。

save

編譯圖表並將其寫入緩衝區或磁碟上的檔案。

show

編譯圖表並透過掛鉤到 pyplot 來顯示它。

組態#

Plot 物件的預設行為可以透過其 Plot.config 屬性進行設定。請注意,這是類別的屬性,而不是實例上的方法。

主題設定#

透過 Plot.config 介面進行的主題變更將套用到所有後續的 Plot 實例。使用 Plot.theme() 方法來修改每個圖表的主題。

主題是 matplotlib 的 rc 參數的字典。您可以直接設定個別參數

so.Plot.config.theme["axes.facecolor"] = "white"

若要變更圖表的整體樣式,請使用參數字典更新主題,或許是來自 seaborn 的其中一個主題函數

from seaborn import axes_style
so.Plot.config.theme.update(axes_style("whitegrid"))

若要將 Plot 與 matplotlib 的全域狀態同步,請傳遞 rcParams 字典

import matplotlib as mpl
so.Plot.config.theme.update(mpl.rcParams)

主題也可以重設回 seaborn 預設值

so.Plot.config.theme.reset()

顯示設定#

當從筆記本單元格中的最後一個陳述式回傳時,Plot 將會被編譯並以圖片形式嵌入筆記本中。預設情況下,圖片會以 HiDPI PNG 格式渲染。或者,也可以用 SVG 格式顯示圖表

so.Plot.config.display["format"] = "svg"

SVG 圖片使用具有「無限」解析度的向量圖形,因此在任何縮放程度下都會顯得清晰。缺點是每個圖表元素都是獨立繪製的,因此對於某些類型的圖表(例如,密集的散佈圖),圖片資料可能會變得非常龐大。

預設 PNG 圖片的 HiDPI 縮放也會膨脹它們儲存的筆記本的大小。(與 SVG 不同,PNG 大小會隨著圖表的尺寸而非其複雜度而縮放)。在沒有用的時候,可以停用它

so.Plot.config.display["hidpi"] = False

嵌入的圖片會稍微縮小 — 與圖形大小或 DPI 無關 — 這樣可以在螢幕上顯示更多資訊。精確的縮放比例也是可設定的

so.Plot.config.display["scaling"] = 0.7