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
和可選的Stat
或Move
。此外,可以定義分面變數或變數配對,以將空間劃分為多個子圖。資料值到視覺屬性的映射可以使用比例來參數化,但當未明確定義比例時,圖形會嘗試推斷良好的預設值。建構函式接受資料來源(
pandas.DataFrame
或具有欄狀值的字典)和變數賦值。變數可以作為資料來源的鍵或直接作為資料向量傳遞。如果提供多個包含資料的物件,它們將會進行索引對齊。建構函式中定義的資料來源和變數將用於圖形中的所有圖層,除非在添加圖層時覆蓋或停用。
- 以下變數可以在建構函式中定義
x、y、color、alpha、fill、marker、pointsize、stroke、linewidth、linestyle、fillcolor、fillalpha、edgewidth、edgestyle、edgecolor、edgealpha、text、halign、valign、offset、fontsize、xmin、xmax、ymin、ymax、group
data
、x
和y
變數可以作為位置參數或使用關鍵字傳遞。第一個位置參數是否被解釋為資料來源或x
變數取決於其類型。此類別的方法會回傳實例的副本;使用鏈式調用,透過多次呼叫來建立圖表。方法可以以任何順序呼叫。
大多數方法只會將資訊添加到圖表規格中;直到圖表顯示或儲存之前,不會發生實際的處理。也可以在不渲染的情況下編譯圖表,以存取較低層級的表示。
方法#
規格方法
根據標記和資料轉換,指定視覺化的圖層。 |
|
指定從資料單位到視覺屬性的映射。 |
子圖方法
使用資料的條件子集產生子圖。 |
|
透過配對多個 |
自訂方法
控制圖形大小和佈局。 |
|
控制軸、圖例和子圖的標籤和標題。 |
|
控制可見資料的範圍。 |
|
控制子圖之間軸限制和刻度的共享。 |
|
控制圖表中元素的樣式。 |
整合方法
提供現有的 Matplotlib 圖形或軸,用於繪製圖表。 |
輸出方法
編譯圖表規格並回傳 Plotter 物件。 |
|
編譯圖表並將其寫入緩衝區或磁碟上的檔案。 |
|
編譯圖表並透過掛鉤到 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