文章目录
- 一、分布型绘图
-
- [1. 分布图](#1. 分布图)
- [2. 直方图](#2. 直方图)
- [3. 核密度估计图](#3. 核密度估计图)
- [4. 地毯图](#4. 地毯图)
- [5. 经验累积分布函数图](#5. 经验累积分布函数图)
- [6. 双变量分布图](#6. 双变量分布图)
- 二、分类型绘图
-
- [1. 分类图](#1. 分类图)
- [2. 带状图](#2. 带状图)
- [3. 蜂群图](#3. 蜂群图)
- [4. 箱线图](#4. 箱线图)
- [5. 小提琴图](#5. 小提琴图)
- [6. 柱形图](#6. 柱形图)
- [7. 点图](#7. 点图)
- [8. 计数图](#8. 计数图)
- 三、矩阵型绘图
-
- [1. 热力图](#1. 热力图)
- [2. 聚类图](#2. 聚类图)
- 四、关系型绘图
-
- [1. 关系图](#1. 关系图)
- [2. 散点图](#2. 散点图)
- [3. 折线图](#3. 折线图)
- 五、回归型绘图
-
- [1. 回归图](#1. 回归图)
- [2. 线性模型图](#2. 线性模型图)
- 六、多图网格
-
- [1. 分面网格](#1. 分面网格)
- [2. 配对网格](#2. 配对网格)
- [3. 双变量分布图](#3. 双变量分布图)
- [4. 配对图](#4. 配对图)
一、分布型绘图
1. 分布图
sns.displot() 是 Seaborn 中用于绘制数据分布 的高级接口,可灵活生成单变量或双变量的分布可视化,支持通过 kind 参数指定具体绘图类型(如直方图、核密度图、ECDF图等),并集成了分面功能(按行/列拆分多个子图),适合快速探索变量分布特征及多组对比。
分布图方法:
python
def displot(
data=None, *,
# Vector variables
x=None, y=None, hue=None, row=None, col=None, weights=None,
# Other plot parameters
kind="hist", rug=False, rug_kws=None, log_scale=None, legend=True,
# Hue-mapping parameters
palette=None, hue_order=None, hue_norm=None, color=None,
# Faceting parameters
col_wrap=None, row_order=None, col_order=None,
height=5, aspect=1, facet_kws=None,
**kwargs,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,x/y/hue等参数可直接使用列名。 |
x/y |
vector or str | None |
待分析的变量(x为水平轴,y为垂直轴),单变量分布指定x或y,双变量需同时指定。 |
hue |
vector or str | None |
分组变量,按类别对分布进行着色区分,便于组间比较。 |
row/col |
vector or str | None |
分面变量,按类别将图拆分为多行(row)或多列(col)子图,实现多维度对比。 |
kind |
str | 'hist' |
绘图类型: • 'hist':直方图(默认); • 'kde':核密度图; • 'ecdf':经验累积分布函数图; • 'rug':地毯图。 |
rug |
bool | False |
是否在坐标轴上添加地毯图(用短线标记数据点位置,增强分布细节)。 |
log_scale |
bool or tuple | None |
是否对坐标轴使用对数刻度(单变量为True/False,双变量为(x_log, y_log)元组)。 |
col_wrap |
int | None |
当col分面时,指定每行最多显示的子图数量(自动换行)。 |
height/aspect |
float | 5/1 |
单个子图的高度(height)和宽高比(aspect,宽度=height×aspect)。 |
2. 直方图
sns.histplot() 专注于绘制单变量或双变量的频数分布直方图,通过将连续数据划分为离散区间(bins),用矩形高度/面积表示区间内数据的频数或频率,直观展示数据的集中趋势、离散程度和分布形态(如对称、偏态等),支持分组叠加、堆叠或并排显示。
直方图方法:
python
def histplot(
data=None, *,
# Vector variables
x=None, y=None, hue=None, weights=None,
# Histogram computation parameters
stat="count", bins="auto", binwidth=None, binrange=None,
discrete=None, cumulative=False, common_bins=True, common_norm=True,
# Histogram appearance parameters
multiple="layer", element="bars", fill=True, shrink=1,
# Histogram smoothing with a kernel density estimate
kde=False, kde_kws=None, line_kws=None,
# Bivariate histogram parameters
thresh=0, pthresh=None, pmax=None, cbar=False, cbar_ax=None, cbar_kws=None,
# Hue mapping parameters
palette=None, hue_order=None, hue_norm=None, color=None,
# Axes information
log_scale=None, legend=True, ax=None,
# Other appearance keywords
**kwargs,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
绘图变量(x为水平轴,y为垂直轴),单变量指定其一,双变量同时指定。 |
hue |
vector or str | None |
分组变量,按类别着色,区分不同组的分布。 |
stat |
str | 'count' |
统计量类型: • 'count':频数(默认); • 'frequency':频率; • 'density':概率密度(总面积=1); • 'probability':概率(总频数=1)。 |
bins |
int/str/array | 'auto' |
区间设置:整数指定数量,'auto'自动计算,数组直接指定边界。 |
binwidth |
float | None |
区间宽度(指定后忽略bins)。 |
kde |
bool | False |
是否叠加核密度估计曲线,增强分布趋势可视化。 |
multiple |
str | 'layer' |
多组展示方式: • 'layer':重叠(默认); • 'stack':堆叠; • 'fill':归一化堆叠; • 'dodge':并排。 |
discrete |
bool | None |
是否按离散值绘图(True时每个值对应一个区间,无需手动设bins)。 |
cumulative |
bool | False |
是否绘制累积分布(展示小于等于当前区间上限的累计值)。 |
3. 核密度估计图
sns.kdeplot() 基于核密度估计(KDE)方法,绘制连续变量的平滑概率密度曲线,无需分箱,能更精准地展示数据分布形态(如单峰/多峰、对称性),支持单变量曲线、双变量等高线/热力图,以及分组对比,是探索连续变量分布的重要工具。
核密度估计图方法:
python
def kdeplot(
data=None, *, x=None, y=None, hue=None, weights=None,
palette=None, hue_order=None, hue_norm=None, color=None, fill=None,
multiple="layer", common_norm=True, common_grid=False, cumulative=False,
bw_method="scott", bw_adjust=1, warn_singular=True, log_scale=None,
levels=10, thresh=.05, gridsize=200, cut=3, clip=None,
legend=True, cbar=False, cbar_ax=None, cbar_kws=None, ax=None,
**kwargs,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,变量可通过列名指定。 |
x/y |
vector or str | None |
连续变量:单变量指定x(垂直密度曲线)或y(水平密度曲线);双变量同时指定(绘制等高线/热力图)。 |
hue |
vector or str | None |
分组变量,按类别绘制多条密度曲线并着色,便于组间分布对比。 |
fill |
bool | None |
是否填充曲线下方区域(True时增强视觉效果,单变量有效)。 |
bw_method |
str/float | 'scott' |
带宽选择方法:'scott'/'silverman'(经典规则)或浮点数(直接指定缩放因子)。 |
bw_adjust |
float | 1 |
带宽调整系数(>1更平滑,<1更精细)。 |
multiple |
str | 'layer' |
多组叠加方式:'layer'(重叠,默认)、'stack'(堆叠)、'fill'(归一化堆叠)。 |
levels |
int/array | 10 |
双变量图中等高线数量或密度阈值(仅x和y同时指定时生效)。 |
cut |
float | 3 |
曲线向数据范围外延伸的倍数(默认延伸至均值±3倍标准差外)。 |
clip |
tuple | None |
限制绘图范围(如clip=(0, None)仅绘制x≥0区域)。 |
cumulative |
bool | False |
是否绘制累积分布曲线(展示小于等于某值的概率)。 |
4. 地毯图
地毯图(rug plot)是一种简洁的分布可视化工具,通过在坐标轴上绘制一系列短小的竖线(单变量)或点(双变量)来标记每个数据点的具体位置,直观展示数据的密集程度和分布范围。它通常不单独使用,而是作为直方图、核密度图等的补充,帮助观察原始数据的分布细节(如是否有聚类、离群点等)。
地毯图方法:
python
def rugplot(
data=None, *, x=None, y=None, hue=None, height=.025, expand_margins=True,
palette=None, hue_order=None, hue_norm=None, legend=True, ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,x/y/hue可直接使用列名。 |
x/y |
vector or str | None |
待展示的变量:单变量时指定x(在x轴绘制竖线)或y(在y轴绘制横线);双变量时同时指定(在坐标点位置标记)。 |
hue |
vector or str | None |
分组变量,按类别对地毯线/点着色,区分不同组的数据分布。 |
height |
float | 0.025 |
地毯线的长度(相对于坐标轴高度的比例)。 |
expand_margins |
bool | True |
是否自动扩展坐标轴边缘,避免地毯线与图表边界重叠。 |
palette |
str/list/dict | None |
用于hue分组的调色板。 |
ax |
matplotlib Axes | None |
指定绘图的坐标轴对象,用于嵌入到其他图表中(如叠加在直方图上)。 |
5. 经验累积分布函数图
经验累积分布函数(ECDF)图用于展示数据的累积分布特征,横轴为变量值,纵轴为小于等于该值的样本所占比例(或频数)。与直方图、核密度图不同,ECDF图直接基于原始数据绘制,不依赖分箱或平滑参数,能精确反映数据的累积趋势,便于比较多组数据的分布差异(如中位数位置、分布范围等)。
经验累积分布函数图方法:
python
def ecdfplot(
data=None, *,
# Vector variables
x=None, y=None, hue=None, weights=None,
# Computation parameters
stat="proportion", complementary=False,
# Hue mapping parameters
palette=None, hue_order=None, hue_norm=None,
# Axes information
log_scale=None, legend=True, ax=None,
# Other appearance keywords
**kwargs,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
待分析的变量:x为水平轴(常规累积分布),y为垂直轴(旋转90度的累积分布),单变量指定其一即可。 |
hue |
vector or str | None |
分组变量,按类别绘制多条累积曲线,便于组间分布对比。 |
stat |
str | 'proportion' |
纵轴统计量: • 'proportion':比例(默认,范围0-1); • 'count':频数(范围0-样本量)。 |
complementary |
bool | False |
是否绘制互补累积分布(纵轴为大于该值的比例/频数,即1 - 累积比例)。 |
log_scale |
bool or tuple | None |
是否对坐标轴使用对数刻度(单变量时为True/False,双变量时为(x_log, y_log)元组)。 |
palette |
str/list/dict | None |
用于hue分组的调色板。 |
ax |
matplotlib Axes | None |
指定绘图的坐标轴对象,用于自定义布局或子图嵌入。 |
6. 双变量分布图
双变量分布图用于展示两个变量之间的联合分布关系,可同时呈现二者的关联模式(如线性、非线性)和各自的单变量分布特征。Seaborn 中 sns.jointplot() 是绘制双变量分布的常用函数,它在中心区域展示双变量关系(如散点图、核密度图等),并在边缘区域添加两个变量的单变量分布(如直方图、核密度曲线),是探索变量相关性的高效工具。
核密度估计图方法:
python
def jointplot(
data=None, *, x=None, y=None, hue=None, kind="scatter",
height=6, ratio=5, space=.2, dropna=False, xlim=None, ylim=None,
color=None, palette=None, hue_order=None, hue_norm=None, marginal_ticks=False,
joint_kws=None, marginal_kws=None,
**kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,x/y/hue可直接使用列名。 |
x/y |
vector or str | None |
待分析的两个变量(x为水平轴,y为垂直轴),必须同时指定。 |
hue |
vector or str | None |
分组变量,按类别对双变量分布进行着色,区分不同组的关联模式。 |
kind |
str | 'scatter' |
中心区域的绘图类型: • 'scatter':散点图(默认); • 'kde':核密度等高线图; • 'hex':六边形 bins 热力图; • 'reg':散点图+线性回归线; • 'resid':残差图。 |
height |
float | 6 |
整个图表的高度(英寸)。 |
ratio |
int | 5 |
中心区域与边缘区域的高度比例(如5表示中心高度是边缘的5倍)。 |
space |
float | 0.2 |
中心区域与边缘区域之间的间距(英寸)。 |
dropna |
bool | False |
是否删除包含缺失值的样本(True时仅使用完整数据)。 |
xlim/ylim |
tuple | None |
限制x/y轴的显示范围(如xlim=(0, 100))。 |
color |
matplotlib color | None |
所有数据点的统一颜色,若指定hue则被忽略。 |
palette |
str/list/dict | None |
用于hue分组的调色板。 |
joint_kws |
dict | None |
传递给中心区域绘图函数的额外参数(如joint_kws={'s': 50}调整散点大小)。 |
marginal_kws |
dict | None |
传递给边缘区域单变量分布函数的额外参数(如marginal_kws={'bins': 20}调整直方图区间)。 |
二、分类型绘图
1. 分类图
分类图用于可视化展示分类变量与数值变量之间的关系 ,或不同分类变量组合下的数据分布特征。Seaborn 中的 sns.catplot() 是分类可视化的高级接口,通过 kind 参数可灵活生成多种分类图(如带状图、蜂群图、箱线图等),并支持分面功能(按行/列拆分子图),适合快速探索分类数据的分布规律和组间差异。
分类图方法:
python
def catplot(
data=None, *, x=None, y=None, hue=None, row=None, col=None, kind="strip",
estimator="mean", errorbar=("ci", 95), n_boot=1000, seed=None, units=None,
weights=None, order=None, hue_order=None, row_order=None, col_order=None,
col_wrap=None, height=5, aspect=1, log_scale=None, native_scale=False,
formatter=None, orient=None, color=None, palette=None, hue_norm=None,
legend="auto", legend_out=True, sharex=True, sharey=True,
margin_titles=False, facet_kws=None, ci=deprecated, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,x/y/hue等参数可直接使用列名。 |
x/y |
vector or str | None |
分类变量(通常为x)和数值变量(通常为y),用于展示分类与数值的关系。 |
hue |
vector or str | None |
二级分组变量,按类别着色,细化组内差异。 |
row/col |
vector or str | None |
分面变量,按类别将图拆分为多行(row)或多列(col)子图,实现多维度对比。 |
kind |
str | 'strip' |
绘图类型: • 'strip':带状图(默认); • 'swarm':蜂群图; • 'box':箱线图; • 'violin':小提琴图; • 'bar':柱形图; • 'point':点图; • 'count':计数图。 |
estimator |
callable | 'mean' |
用于汇总数值变量的统计函数(如np.mean、np.median),适用于柱形图、点图等。 |
order/hue_order |
list | None |
指定x(order)或hue(hue_order)的类别展示顺序。 |
col_wrap |
int | None |
当col分面时,指定每行最多显示的子图数量(自动换行)。 |
height/aspect |
float | 5/1 |
单个子图的高度(height)和宽高比(aspect,宽度=height×aspect)。 |
sharex/sharey |
bool | True |
分面时是否共享x轴(sharex)或y轴(sharey)刻度。 |
2. 带状图
带状图(strip plot)是一种基础的分类可视化工具,通过在分类轴上随机分布的点展示数值变量的分布,每个点代表一个样本。它能直观呈现数据的原始分布和重叠情况,但当数据量较大时可能出现点的过度重叠,掩盖分布细节,此时可配合jitter参数调整点的分散程度。
带状图方法:
python
def stripplot(
data=None, *, x=None, y=None, hue=None, order=None, hue_order=None,
jitter=True, dodge=False, orient=None, color=None, palette=None,
size=5, edgecolor=default, linewidth=0,
hue_norm=None, log_scale=None, native_scale=False, formatter=None, legend="auto",
ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
分类变量(x或y)和数值变量(对应另一个轴),确定点的分布方向。 |
hue |
vector or str | None |
分组变量,按类别对点着色,区分不同组的数据。 |
jitter |
bool/float | True |
是否添加随机抖动(避免点重叠):True为自动抖动,浮点数指定抖动幅度。 |
dodge |
bool | False |
当使用hue时,是否将不同组的点沿分类轴分开(避免重叠)。 |
size |
float | 5 |
点的大小。 |
order/hue_order |
list | None |
指定分类变量或hue的类别展示顺序。 |
3. 蜂群图
蜂群图(swarm plot)是带状图的改进版,通过算法将点沿分类轴分散排列,既保留原始数据点的位置信息,又避免重叠,能更清晰地展示数值变量在每个分类下的分布密度和范围。适合中等数据量(数据量过大时可能运行缓慢或拥挤)。
蜂群图方法:
python
def swarmplot(
data=None, *, x=None, y=None, hue=None, order=None, hue_order=None,
dodge=False, orient=None, color=None, palette=None,
size=5, edgecolor=None, linewidth=0, hue_norm=None, log_scale=None,
native_scale=False, formatter=None, legend="auto", warn_thresh=.05,
ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
分类变量(x或y)和数值变量(对应另一个轴),确定蜂群的分布方向。 |
hue |
vector or str | None |
分组变量,按类别对点着色,区分组内差异。 |
dodge |
bool | False |
当使用hue时,是否将不同组的蜂群沿分类轴分开(避免重叠)。 |
size |
float | 5 |
点的大小(过大会导致拥挤)。 |
warn_thresh |
float | 0.05 |
数据点拥挤程度的警告阈值(超过时提示可能影响可视化效果)。 |
order/hue_order |
list | None |
指定分类变量或hue的类别展示顺序。 |
4. 箱线图
箱线图(box plot)通过四分位数概括数值变量在分类下的分布特征,箱体展示第25%(Q1)、中位数(Q2)、第75%(Q3)分位数,箱须延伸至1.5×IQR(四分位距,Q3-Q1)范围内的最值,超出部分标记为离群点。适合快速比较多组数据的集中趋势、离散程度和异常值。
箱线图方法:
python
def boxplot(
data=None, *, x=None, y=None, hue=None, order=None, hue_order=None,
orient=None, color=None, palette=None, saturation=.75, fill=True,
dodge="auto", width=.8, gap=0, whis=1.5, linecolor="auto", linewidth=None,
fliersize=None, hue_norm=None, native_scale=False, log_scale=None, formatter=None,
legend="auto", ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
分类变量(x或y)和数值变量(对应另一个轴),确定箱线图的方向。 |
hue |
vector or str | None |
分组变量,按类别绘制多个箱体(同一分类下),细化组内差异。 |
dodge |
bool/str | 'auto' |
当使用hue时,是否将箱体沿分类轴分开('auto'自动判断,True强制分开)。 |
whis |
float | 1.5 |
箱须长度的倍数(whis×IQR),控制离群点的判断阈值。 |
width |
float | 0.8 |
箱体的宽度比例。 |
fliersize |
float | None |
离群点的大小。 |
order/hue_order |
list | None |
指定分类变量或hue的类别展示顺序。 |
5. 小提琴图
小提琴图(violin plot)结合了箱线图和核密度图的特点,通过对称的"小提琴"形状展示数值变量在分类下的概率密度分布(宽度代表密度),内部可添加箱线图或四分位线,既呈现分布形态(如单峰/多峰),又展示统计分位数,适合复杂分布的组间对比。
小提琴图方法:
python
def violinplot(
data=None, *, x=None, y=None, hue=None, order=None, hue_order=None,
orient=None, color=None, palette=None, saturation=.75, fill=True,
inner="box", split=False, width=.8, dodge="auto", gap=0,
linewidth=None, linecolor="auto", cut=2, gridsize=100,
bw_method="scott", bw_adjust=1, density_norm="area", common_norm=False,
hue_norm=None, formatter=None, log_scale=None, native_scale=False,
legend="auto", scale=deprecated, scale_hue=deprecated, bw=deprecated,
inner_kws=None, ax=None, **kwargs,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
分类变量(x或y)和数值变量(对应另一个轴),确定小提琴的方向。 |
hue |
vector or str | None |
分组变量,按类别区分小提琴的颜色或结构。 |
inner |
str | 'box' |
小提琴内部的统计标记: • 'box':箱线图(默认); • 'quartile':四分位线; • 'point'/'stick':点或线标记样本。 |
split |
bool | False |
当hue为二分类时,是否将小提琴从中间分开(左右分别对应两个类别)。 |
bw_method/bw_adjust |
str/float | 'scott'/1 |
核密度估计的带宽方法('scott'/'silverman')和调整系数(>1更平滑)。 |
density_norm |
str | 'area' |
密度归一化方式: • 'area':每个小提琴总面积为1; • 'count':面积与样本量成正比; • 'width':最大宽度统一。 |
order/hue_order |
list | None |
指定分类变量或hue的类别展示顺序。 |
6. 柱形图
柱形图(bar plot)通过矩形条的高度展示数值变量在分类下的汇总统计量(如均值、中位数),并附带误差线(如置信区间),适合比较不同分类的中心趋势差异。矩形条的长度代表统计量大小,误差线反映结果的不确定性。
柱形图方法:
python
def barplot(
data=None, *, x=None, y=None, hue=None, order=None, hue_order=None,
estimator="mean", errorbar=("ci", 95), n_boot=1000, seed=None, units=None,
weights=None, orient=None, color=None, palette=None, saturation=.75,
fill=True, hue_norm=None, width=.8, dodge="auto", gap=0, log_scale=None,
native_scale=False, formatter=None, legend="auto", capsize=0, err_kws=None,
ci=deprecated, errcolor=deprecated, errwidth=deprecated, ax=None, **kwargs,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
分类变量(x或y)和数值变量(对应另一个轴),确定柱形的方向。 |
hue |
vector or str | None |
分组变量,按类别绘制多个柱形(同一分类下),细化组内差异。 |
estimator |
callable | 'mean' |
汇总统计函数(如np.mean计算均值,np.median计算中位数)。 |
errorbar |
str/tuple | ('ci', 95) |
误差线类型: • ('ci', 95):95%置信区间(默认); • 'sd':标准差; • None:不显示误差线。 |
width |
float | 0.8 |
柱形的宽度比例。 |
dodge |
bool/str | 'auto' |
当使用hue时,是否将柱形沿分类轴分开(避免重叠)。 |
capsize |
float | 0 |
误差线顶端/底端的横线长度。 |
order/hue_order |
list | None |
指定分类变量或hue的类别展示顺序。 |
7. 点图
点图(point plot)用点标记数值变量在分类下的汇总统计量(如均值),并通过误差线展示不确定性,同时可添加连线连接相关组别(如同一hue分类),强调组间趋势或差异。适合突出中心趋势的比较,尤其适用于多组时序或有序分类数据。
点图方法:
python
def pointplot(
data=None, *, x=None, y=None, hue=None, order=None, hue_order=None,
estimator="mean", errorbar=("ci", 95), n_boot=1000, seed=None, units=None,
weights=None, color=None, palette=None, hue_norm=None, markers=default,
linestyles=default, dodge=False, log_scale=None, native_scale=False,
orient=None, capsize=0, formatter=None, legend="auto", err_kws=None,
ci=deprecated, errwidth=deprecated, join=deprecated, scale=deprecated,
ax=None, **kwargs,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
分类变量(x或y)和数值变量(对应另一个轴),确定点的分布方向。 |
hue |
vector or str | None |
分组变量,按类别用不同颜色/标记的点区分,连线可连接同hue组别。 |
estimator |
callable | 'mean' |
汇总统计函数(如均值、中位数)。 |
errorbar |
str/tuple | ('ci', 95) |
误差线类型(同柱形图,如95%置信区间、标准差)。 |
markers |
list | default |
不同hue组的点标记样式(如['o', 's']表示圆圈、正方形)。 |
linestyles |
list | default |
不同hue组的连线样式(如['-', '--']表示实线、虚线)。 |
dodge |
bool | False |
当使用hue时,是否将点沿分类轴错开(避免重叠)。 |
capsize |
float | 0 |
误差线顶端/底端的横线长度。 |
8. 计数图
计数图(count plot)是一种特殊的柱形图,用于统计每个分类下的样本数量(频数),通过柱形高度展示不同类别的观测值个数,无需指定数值变量,直接对分类变量的水平进行计数,适合快速了解分类数据的分布频率。
计数图方法:
python
def countplot(
data=None, *, x=None, y=None, hue=None, order=None, hue_order=None,
orient=None, color=None, palette=None, saturation=.75, fill=True, hue_norm=None,
stat="count", width=.8, dodge="auto", gap=0, log_scale=None, native_scale=False,
formatter=None, legend="auto", ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
待计数的分类变量(x为水平柱形,y为垂直柱形)。 |
hue |
vector or str | None |
二级分类变量,按类别对柱形分组着色,展示交叉频数。 |
stat |
str | 'count' |
统计量类型(目前仅支持'count',即频数)。 |
width |
float | 0.8 |
柱形的宽度比例。 |
dodge |
bool/str | 'auto' |
当使用hue时,是否将柱形沿分类轴分开(避免重叠)。 |
order/hue_order |
list | None |
指定分类变量或hue的类别展示顺序。 |
三、矩阵型绘图
1. 热力图
热力图(heatmap)通过颜色深浅重度直观展示矩阵数据的数值大小,常用于呈现变量间的相关性(如相关系数矩阵)、混淆矩阵或多维数据的分布规律。颜色越深(或越亮)代表数值越大,能快速识别数据中的高值区、低值区及整体模式,是探索变量关联和数据密集程度的有效工具。
热力图方法:
python
def heatmap(
data, *, vmin=None, vmax=None, cmap=None, center=None, robust=False,
annot=None, fmt=".2g", annot_kws=None, linewidths=0, linecolor="white",
cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels="auto",
yticklabels="auto", mask=None, ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame/ndarray | - | 输入的矩阵数据(行和列代表类别或变量,值为待可视化的数值)。 |
vmin/vmax |
float | None |
颜色映射的最小值和最大值,超出范围的数值将被截断到边界。 |
cmap |
str/list | None |
颜色映射方案(如'viridis'、'coolwarm'、'RdBu'),控制热力图的配色风格。 |
center |
float | None |
颜色映射的中心值(用于对称数据,如相关系数矩阵,使正负值颜色区分更明显)。 |
annot |
bool | None |
是否在热力图单元格中显示数值(True显示,False不显示)。 |
fmt |
str | '.2g' |
数值的格式化字符串(如'd'整数、'.1f'保留1位小数),仅当annot=True时生效。 |
linewidths |
float | 0 |
单元格之间的间隔线宽度(>0时添加分隔线,增强网格感)。 |
cbar |
bool | True |
是否显示颜色条(用于解释颜色与数值的对应关系)。 |
square |
bool | False |
是否强制单元格为正方形(使行列比例一致,增强美观性)。 |
mask |
ndarray | None |
布尔矩阵,True对应的单元格将被隐藏(用于突出显示部分数据,如只展示上三角相关矩阵)。 |
xticklabels/yticklabels |
str/list/bool | 'auto' |
是否显示x轴/y轴标签:'auto'自动判断,False不显示,列表指定自定义标签。 |
2. 聚类图
聚类图(clustermap)结合了热力图和层次聚类分析,在展示矩阵数据的同时,通过行和列的聚类树(dendrogram)展示变量或样本的相似性结构。它会根据数据相似度对行和列进行重新排序,使相似的类别聚集在一起,便于发现数据中的自然分组和聚类模式,常用于基因表达、样本分类等复杂数据的分析。
聚类图方法:
python
def clustermap(
data, *, pivot_kws=None, method="average", metric="euclidean",
z_score=None, standard_scale=None, figsize=None, cbar_kws=None, row_cluster=True,
col_cluster=True, row_linkage=None, col_linkage=None, row_colors=None,
col_colors=None, mask=None, dendrogram_ratio=(.1, .2),
cbar_pos=(.02, .8, .05, .18), tree_kws=None, ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame/ndarray | - | 输入的矩阵数据(行和列代表样本或变量,值为待分析的数值)。 |
method |
str | 'average' |
层次聚类的链接方法(计算类间距离的方式): • 'average':平均距离(默认); • 'single':最短距离; • 'complete':最长距离; • 'ward':方差最小化(适用于连续数据)。 |
metric |
str | 'euclidean' |
距离度量方法(计算样本/变量间的相似度): • 'euclidean':欧氏距离(默认); • 'correlation':相关系数距离; • 'cityblock':曼哈顿距离等。 |
z_score |
int/None | None |
是否对行(z_score=0)或列(z_score=1)进行标准化(将数据转换为z分数,消除量纲影响)。 |
row_cluster/col_cluster |
bool | True |
是否对行(row_cluster)或列(col_cluster)进行聚类(False时不聚类,保持原始顺序)。 |
row_linkage/col_linkage |
ndarray | None |
预计算的行/列聚类链接矩阵(用于复现特定聚类结果,无需重新计算)。 |
row_colors/col_colors |
list/Series | None |
行/列的分组颜色标签(在聚类树旁添加颜色条,标记预设分组,增强聚类解释性)。 |
dendrogram_ratio |
tuple | (.1, .2) |
聚类树(行树, 列树)占整个图表的高度/宽度比例。 |
cbar_pos |
tuple | (.02, .8, .05, .18) |
颜色条的位置和大小((left, bottom, width, height),相对坐标系)。 |
mask |
ndarray | None |
布尔矩阵,True对应的单元格将被隐藏(同热力图)。 |
四、关系型绘图
1. 关系图
关系图用于探索两个或多个变量之间的关联模式,通过可视化展示变量间的相关性(如线性、非线性、正相关、负相关)。Seaborn 中的 sns.relplot() 是关系可视化的高级接口,支持通过 kind 参数指定具体类型(如散点图、折线图),并集成分面功能(按行/列拆分子图),可灵活添加多维度信息(颜色、大小、形状),适合多变量关系的系统性探索。
关系图方法:
python
def relplot(
data=None, *,
x=None, y=None, hue=None, size=None, style=None, units=None, weights=None,
row=None, col=None, col_wrap=None, row_order=None, col_order=None,
palette=None, hue_order=None, hue_norm=None,
sizes=None, size_order=None, size_norm=None,
markers=None, dashes=None, style_order=None,
legend="auto", kind="scatter", height=5, aspect=1, facet_kws=None,
**kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,x/y/hue等参数可直接使用列名。 |
x/y |
vector or str | None |
待分析的两个核心变量(横轴和纵轴),用于展示基础关系。 |
hue |
vector or str | None |
分组变量,按类别对数据点着色,添加第三维度信息。 |
size |
vector or str | None |
尺寸变量,按数值大小调整数据点的尺寸,添加第四维度信息。 |
style |
vector or str | None |
样式变量,按类别调整数据点的形状或线条样式,添加第五维度信息。 |
row/col |
vector or str | None |
分面变量,按类别将图拆分为多行(row)或多列(col)子图,实现多维度对比。 |
kind |
str | 'scatter' |
绘图类型: • 'scatter':散点图(默认); • 'line':折线图。 |
palette |
str/list/dict | None |
用于hue分组的调色板。 |
sizes |
list/tuple | None |
尺寸变量的范围(如(10, 200)表示最小/最大点的大小)。 |
markers |
list/bool | None |
样式变量对应的标记符号(如['o', 's']表示圆圈、正方形)。 |
col_wrap |
int | None |
当col分面时,指定每行最多显示的子图数量(自动换行)。 |
height/aspect |
float | 5/1 |
单个子图的高度(height)和宽高比(aspect,宽度=height×aspect)。 |
2. 散点图
散点图(scatter plot)通过平面上的点(x坐标对应一个变量,y坐标对应另一个变量)展示两个连续变量之间的关系,每个点代表一个样本。它能直观呈现变量间的相关性(如线性趋势、聚类模式)、分布密度及离群点,是探索双变量关系的基础工具。
散点图方法:
python
def scatterplot(
data=None, *,
x=None, y=None, hue=None, size=None, style=None,
palette=None, hue_order=None, hue_norm=None,
sizes=None, size_order=None, size_norm=None,
markers=True, style_order=None, legend="auto", ax=None,
**kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
两个连续变量(横轴和纵轴),构成散点图的基础坐标。 |
hue |
vector or str | None |
分组变量,按类别对点着色,区分不同组的分布模式。 |
size |
vector or str | None |
尺寸变量,按数值大小调整点的大小(数值越大,点越大)。 |
style |
vector or str | None |
样式变量,按类别调整点的形状(如圆圈、三角形)。 |
palette |
str/list/dict | None |
用于hue分组的调色板。 |
sizes |
list/tuple | None |
尺寸范围(如(20, 200)),控制点的大小尺度。 |
markers |
list/bool | True |
样式变量对应的标记符号(True使用默认样式,列表指定自定义符号)。 |
legend |
str | 'auto' |
图例显示方式:'auto'自动判断,'full'显示完整图例,'brief'简化图例,False不显示。 |
3. 折线图
折线图(line plot)通过连续的线条连接有序数据点,展示变量随时间或另一有序变量的变化趋势,适合呈现数据的动态变化(如时序数据)或分组趋势对比。可通过误差线展示数据的不确定性(如均值的置信区间),增强趋势的可靠性表达。
折线图方法:
python
def lineplot(
data=None, *,
x=None, y=None, hue=None, size=None, style=None, units=None, weights=None,
palette=None, hue_order=None, hue_norm=None,
sizes=None, size_order=None, size_norm=None,
dashes=True, markers=None, style_order=None,
estimator="mean", errorbar=("ci", 95), n_boot=1000, seed=None,
orient="x", sort=True, err_style="band", err_kws=None,
legend="auto", ci="deprecated", ax=None, **kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,支持列名直接引用变量。 |
x/y |
vector or str | None |
x通常为有序变量(如时间),y为随其变化的数值变量,构成折线的横纵轴。 |
hue/size/style |
vector or str | None |
分组变量,分别通过颜色、线条粗细、线条样式区分不同组的趋势。 |
estimator |
callable | 'mean' |
对同一x值对应的多个y值的汇总函数(如np.mean计算均值,np.median计算中位数)。 |
errorbar |
str/tuple | ('ci', 95) |
误差线类型: • ('ci', 95):95%置信区间(默认); • 'sd':标准差; • None:不显示误差线。 |
err_style |
str | 'band' |
误差的展示样式:'band'为填充带(默认),'bars'为误差线。 |
sort |
bool | True |
是否按x值排序后绘制折线(False保留原始顺序,适合非时序的有序数据)。 |
dashes |
list/bool | True |
不同style组的线条样式(True使用默认虚线/实线,列表指定自定义样式如['-', '--'])。 |
markers |
list/bool | None |
线条上的数据点标记(None默认不显示,列表指定符号如['o', 's'])。 |
五、回归型绘图
1. 回归图
回归图(regression plot)用于展示两个连续变量之间的线性或非线性关系,并通过拟合回归线直观呈现变量间的趋势,同时可添加置信区间展示模型的不确定性。Seaborn 中的 sns.regplot() 是绘制回归图的基础函数,支持简单线性回归、多项式回归、逻辑回归等多种模型,适合快速探索变量间的关联强度和趋势方向。
回归图方法:
python
def regplot(
data=None, *, x=None, y=None,
x_estimator=None, x_bins=None, x_ci="ci",
scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None,
seed=None, order=1, logistic=False, lowess=False, robust=False,
logx=False, x_partial=None, y_partial=None,
truncate=True, dropna=True, x_jitter=None, y_jitter=None,
label=None, color=None, marker="o",
scatter_kws=None, line_kws=None, ax=None
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,x/y可直接使用列名。 |
x/y |
vector or str | None |
两个连续变量(横轴和纵轴),用于拟合回归关系。 |
scatter |
bool | True |
是否绘制散点图(原始数据点)。 |
fit_reg |
bool | True |
是否拟合回归线(False时仅显示散点)。 |
ci |
int | 95 |
回归线的置信区间水平(如95表示95%置信区间,None不显示)。 |
order |
int | 1 |
多项式回归的阶数(1为线性回归,2为二次曲线,以此类推)。 |
logistic |
bool | False |
是否拟合逻辑回归(适用于y为二元变量的情况)。 |
lowess |
bool | False |
是否使用局部加权回归(LOWESS)拟合非线性趋势(适合复杂非线性关系)。 |
robust |
bool | False |
是否使用稳健回归(减少离群点对回归线的影响)。 |
x_jitter/y_jitter |
float | None |
对x/y轴数据添加随机抖动(避免点重叠,增强散点图可读性)。 |
truncate |
bool | True |
是否将回归线截断在数据范围内(False时延伸至坐标轴边界)。 |
scatter_kws/line_kws |
dict | None |
传递给散点(scatter_kws)或回归线(line_kws)的样式参数(如颜色、大小)。 |
2. 线性模型图
线性模型图(lmplot)是在回归图基础上扩展的高级函数,支持按分组(hue)或分面(row/col)绘制多个回归模型,同时展示不同组别或条件下的变量关系差异。它集成了回归分析与分面可视化,适合多维度探索变量间的线性或非线性关联,尤其适用于比较不同群体的回归趋势。
线性模型图方法:
python
def lmplot(
data, *,
x=None, y=None, hue=None, col=None, row=None,
palette=None, col_wrap=None, height=5, aspect=1, markers="o",
sharex=None, sharey=None, hue_order=None, col_order=None, row_order=None,
legend=True, legend_out=None, x_estimator=None, x_bins=None,
x_ci="ci", scatter=True, fit_reg=True, ci=95, n_boot=1000,
units=None, seed=None, order=1, logistic=False, lowess=False,
robust=False, logx=False, x_partial=None, y_partial=None,
truncate=True, x_jitter=None, y_jitter=None, scatter_kws=None,
line_kws=None, facet_kws=None,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | - | 输入的长格式DataFrame,变量可通过列名指定。 |
x/y |
vector or str | None |
两个连续变量,作为回归模型的自变量和因变量。 |
hue |
vector or str | None |
分组变量,按类别对数据点和回归线着色,区分不同组的回归趋势。 |
row/col |
vector or str | None |
分面变量,按类别将图拆分为多行(row)或多列(col)子图,每个子图对应一组回归模型。 |
col_wrap |
int | None |
当col分面时,指定每行最多显示的子图数量(自动换行)。 |
height/aspect |
float | 5/1 |
单个子图的高度(height)和宽高比(aspect,宽度=height×aspect)。 |
markers |
str/list | 'o' |
不同hue组的散点标记样式(如['o', 's']表示圆圈、正方形)。 |
sharex/sharey |
bool | None |
分面时是否共享x轴(sharex)或y轴(sharey)刻度。 |
order/logistic/lowess |
同regplot,分别控制回归阶数、逻辑回归、局部加权回归。 |
||
scatter_kws/line_kws |
dict | None |
传递给散点或回归线的样式参数(如scatter_kws={'alpha': 0.5}设置透明度)。 |
facet_kws |
dict | None |
传递给分面函数的额外参数(如控制子图间距)。 |
六、多图网格
1. 分面网格
分面网格(FacetGrid)是 Seaborn 中用于创建多子图布局的基础工具,通过将数据按一个或多个分类变量拆分(行 row 或列 col),在网格中生成多个子图,每个子图对应一个分组的数据。它支持灵活设置子图共享坐标轴、尺寸比例、配色等,是实现多维度数据对比可视化的核心组件,常与映射函数(如 map())结合绘制具体图表。
分面网格方法(FacetGrid()类):
python
def __init__(
self, data, *,
row=None, col=None, hue=None, col_wrap=None,
sharex=True, sharey=True, height=3, aspect=1, palette=None,
row_order=None, col_order=None, hue_order=None, hue_kws=None,
dropna=False, legend_out=True, despine=True,
margin_titles=False, xlim=None, ylim=None, subplot_kws=None,
gridspec_kws=None,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | - | 输入的长格式DataFrame,作为分面的数据源。 |
row/col |
vector or str | None |
用于拆分行/列子图的分类变量(每个类别对应一行/列子图)。 |
hue |
vector or str | None |
分组变量,在每个子图内部按类别着色,细化组内差异。 |
col_wrap |
int | None |
当仅按col分面时,指定每行最多显示的子图数量(自动换行)。 |
sharex/sharey |
bool | True |
子图是否共享x轴(sharex)或y轴(sharey)刻度(True共享,False独立)。 |
height/aspect |
float | 3/1 |
单个子图的高度(height)和宽高比(aspect,宽度=height×aspect)。 |
row_order/col_order |
list | None |
指定row/col变量的类别展示顺序(默认按数据中出现的顺序)。 |
legend_out |
bool | True |
是否将hue的图例放置在子图网格外部(避免占用子图空间)。 |
despine |
bool | True |
是否移除子图顶部和右侧的边框(美化图表)。 |
margin_titles |
bool | False |
是否在子图网格的边缘显示行/列标题(适合长标题)。 |
xlim/ylim |
tuple | None |
所有子图的x/y轴范围(如xlim=(0, 10))。 |
2. 配对网格
配对网格(PairGrid)专为多变量数据的两两关系可视化设计,通过创建一个正方形网格,对角线展示单变量分布(如直方图、核密度图),非对角线展示双变量关系(如散点图),适合快速探索数据集内所有变量间的关联模式。支持按hue分组着色,突出不同类别的差异。
配对网格方法(PairGrid()类):
python
def __init__(
self, data, *, hue=None, vars=None, x_vars=None, y_vars=None,
hue_order=None, palette=None, hue_kws=None, corner=False, diag_sharey=True,
height=2.5, aspect=1, layout_pad=.5, despine=True, dropna=False,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | - | 输入的DataFrame,包含待分析的多个变量。 |
vars |
list | None |
指定参与配对分析的变量列表(默认使用所有数值变量)。 |
x_vars/y_vars |
list | None |
分别指定x轴和y轴的变量列表(生成非正方形网格,如x_vars=[A,B], y_vars=[C,D])。 |
hue |
vector or str | None |
分组变量,在所有子图中按类别着色,区分不同组的分布。 |
corner |
bool | False |
是否仅显示网格的下三角部分(避免重复展示对称的双变量关系,节省空间)。 |
diag_sharey |
bool | True |
对角线子图(单变量分布)是否共享y轴刻度(False时独立刻度)。 |
height/aspect |
float | 2.5/1 |
单个子图的高度和宽高比(宽度=height×aspect)。 |
layout_pad |
float | 0.5 |
子图之间的间距(英寸)。 |
despine |
bool | True |
是否移除子图顶部和右侧的边框。 |
3. 双变量分布图
双变量分布图用于同时展示两个变量的联合分布特征,中心区域呈现二者的关联模式(如散点、等高线),边缘区域附加各自的单变量分布(如直方图、核密度曲线),兼顾双变量关系和单变量分布的双重信息。Seaborn 的 sns.jointplot() 是绘制此类图表的便捷函数,适合探索两个连续变量的相关性和分布形态。
核密度估计图方法:
python
def jointplot(
data=None, *, x=None, y=None, hue=None, kind="scatter",
height=6, ratio=5, space=.2, dropna=False, xlim=None, ylim=None,
color=None, palette=None, hue_order=None, hue_norm=None, marginal_ticks=False,
joint_kws=None, marginal_kws=None,
**kwargs
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | None |
输入的长格式DataFrame,x/y/hue可直接使用列名。 |
x/y |
vector or str | None |
待分析的两个变量(横轴和纵轴),必须同时指定。 |
hue |
vector or str | None |
分组变量,按类别对数据点着色,区分不同组的联合分布。 |
kind |
str | 'scatter' |
中心区域的绘图类型: • 'scatter':散点图(默认); • 'kde':核密度等高线图; • 'hex':六边形热力图; • 'reg':散点+回归线。 |
height |
float | 6 |
整个图表的高度(英寸)。 |
ratio |
int | 5 |
中心区域与边缘区域的高度比例(如5表示中心高度是边缘的5倍)。 |
space |
float | 0.2 |
中心区域与边缘区域的间距(英寸)。 |
marginal_ticks |
bool | False |
是否在边缘区域显示坐标轴刻度。 |
joint_kws/marginal_kws |
dict | None |
传递给中心区域(joint_kws)或边缘区域(marginal_kws)的样式参数。 |
4. 配对图
配对图(pair plot)是基于配对网格(PairGrid)的高级接口,自动绘制数据集中所有数值变量的两两关系:对角线为每个变量的单变量分布(如直方图、核密度图),非对角线为两个变量的双变量关系(如散点图),可通过hue分组着色,适合快速概览多变量数据集的分布特征和变量间关联,是探索性数据分析的常用工具。
配对图方法:
python
def pairplot(
data, *,
hue=None, hue_order=None, palette=None,
vars=None, x_vars=None, y_vars=None,
kind="scatter", diag_kind="auto", markers=None,
height=2.5, aspect=1, corner=False, dropna=False,
plot_kws=None, diag_kws=None, grid_kws=None, size=None,
)
核心参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
data |
DataFrame | - | 输入的DataFrame,包含待分析的多个变量。 |
vars |
list | None |
指定参与配对分析的变量列表(默认使用所有数值变量)。 |
x_vars/y_vars |
list | None |
分别指定x轴和y轴的变量(生成非对称配对图)。 |
hue |
vector or str | None |
分组变量,所有子图按类别着色,区分不同组的分布。 |
kind |
str | 'scatter' |
非对角线子图的双变量关系类型:'scatter'(散点图)或'reg'(回归图)。 |
diag_kind |
str | 'auto' |
对角线子图的单变量分布类型: • 'auto':默认根据hue是否存在选择(有hue用核密度图,否则用直方图); • 'hist':直方图; • 'kde':核密度图; • None:不绘制对角线。 |
markers |
list | None |
不同hue组的散点标记样式(如['o', 's'])。 |
corner |
bool | False |
是否仅显示下三角部分(避免重复,同PairGrid)。 |
height/aspect |
float | 2.5/1 |
单个子图的高度和宽高比。 |
plot_kws/diag_kws |
dict | None |
传递给非对角线(plot_kws)或对角线(diag_kws)子图的样式参数。 |