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