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