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 或包含列值的字典)和变量分配。可以将变量作为数据源的键传递,也可以直接作为数据向量传递。如果提供了多个包含数据的对象,它们将被索引对齐。

构造函数中定义的数据源和变量将用于绘图中的所有图层,除非在添加图层时被覆盖或禁用。

以下变量可以在构造函数中定义

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

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