[ PROMPT_NODE_27402 ]
objects_interface
[ SKILL_DOCUMENTATION ]
# Seaborn 对象接口
`seaborn.objects` 接口提供了一种现代、声明式的 API,通过组合来构建可视化。本指南涵盖了 Seaborn 0.12+ 版本中引入的完整对象接口。
## 核心概念
对象接口将**你想展示的内容**(数据和映射)与**如何展示它**(标记、统计和移动)分离开来。构建图表的步骤:
1. 创建一个带有数据和美学映射的 `Plot` 对象
2. 使用 `.add()` 添加层,结合标记和统计转换
3. 使用 `.scale()`, `.label()`, `.limit()`, `.theme()` 等进行自定义
4. 使用 `.show()` 或 `.save()` 进行渲染
## 基础用法
python
from seaborn import objects as so
import pandas as pd
# 创建带有数据和映射的图表
p = so.Plot(data=df, x='x_var', y='y_var')
# 添加标记 (视觉表示)
p = p.add(so.Dot())
# 显示 (在 Jupyter 中自动显示)
p.show()
## Plot 类
`Plot` 类是对象接口的基础。
### 初始化
python
so.Plot(data=None, x=None, y=None, color=None, alpha=None,
fill=None, fillalpha=None, fillcolor=None, marker=None,
pointsize=None, stroke=None, text=None, **variables)
**参数:**
- `data` - DataFrame 或数据向量字典
- `x, y` - 位置变量
- `color` - 颜色编码变量
- `alpha` - 透明度变量
- `marker` - 标记形状变量
- `pointsize` - 点大小变量
- `stroke` - 线宽变量
- `text` - 文本标签变量
- `**variables` - 使用属性名称的其他映射
**示例:**
python
# 基础映射
so.Plot(df, x='total_bill', y='tip')
# 多重映射
so.Plot(df, x='total_bill', y='tip', color='day', pointsize='size')
# Plot 中的所有变量
p = so.Plot(df, x='x', y='y', color='cat')
p.add(so.Dot()) # 使用所有映射
# add() 中的部分变量
p = so.Plot(df, x='x', y='y')
p.add(so.Dot(), color='cat') # 仅此层使用颜色
### 方法
#### add()
向图表添加带有标记和可选统计/移动的层。
python
Plot.add(mark, *transforms, orient=None, legend=True, data=None,
**variables)
**参数:**
- `mark` - 定义视觉表示的标记对象
- `*transforms` - 用于数据转换的统计和/或移动对象
- `orient` - 方向: "x", "y", 或 "v"/"h"
- `legend` - 是否包含在图例中 (True/False)
- `data` - 覆盖此层的数据
- `**variables` - 覆盖或添加变量映射
**示例