sns.pairplot()
—— 多变量关系可视化(Pair Plot)
seaborn.pairplot()
用于 同时可视化多个变量的两两关系,适用于 探索数据集的整体结构和变量间关系,常用于 EDA(探索性数据分析)。
1. 语法
import seaborn as sns
sns.pairplot(data=None, hue=None, kind="scatter", diag_kind="hist", markers=None, palette=None)
主要参数
参数 | 作用 |
---|---|
data | DataFrame 数据集 |
hue | 按类别分色 |
kind | 散点图("scatter" )或回归("reg" ) |
diag_kind | 对角线图类型("hist" 直方图,"kde" 核密度) |
markers | 不同类别点的形状 |
palette | 颜色方案 |
2. 基本示例
2.1 绘制默认 pairplot()
import seaborn as sns
import matplotlib.pyplot as plt
# 加载数据
data = sns.load_dataset("penguins")
# 画成对关系图
sns.pairplot(data=data)
plt.show()
📌 作用
- 显示所有数值变量的两两关系(散点图)。
- 对角线部分 显示变量自身分布(默认
diag_kind="hist"
)。
2.2 按类别分色(hue
参数)
sns.pairplot(data=data, hue="species")
plt.show()
📌 作用
hue="species"
→ 不同物种用不同颜色表示。
2.3 使用回归(kind="reg"
)
sns.pairplot(data=data, hue="species", kind="reg")
plt.show()
📌 作用
kind="reg"
在散点图中加入回归线。
2.4 对角线显示 KDE(diag_kind="kde"
)
sns.pairplot(data=data, hue="species", diag_kind="kde")
plt.show()
📌 作用
diag_kind="kde"
对角线使用核密度估计(KDE)。
3. 进阶用法
3.1 调整点的形状(markers
参数)
sns.pairplot(data=data, hue="species", markers=["o", "s", "D"])
plt.show()
📌 作用
markers=["o", "s", "D"]
→ 不同类别用不同形状表示。
3.2 自定义颜色(palette
参数)
sns.pairplot(data=data, hue="species", palette="coolwarm")
plt.show()
📌 作用
palette="coolwarm"
改变颜色风格。
4. sns.pairplot()
vs sns.jointplot()
sns.pairplot() | sns.jointplot() | |
---|---|---|
作用 | 多个变量的两两关系 | 两个变量的关系 |
支持 hue 分类 | ✅ | ✅ |
适用于 | 多变量探索 | 单变量对分析 |
5. 总结
✅ sns.pairplot()
适用于查看多个变量的分布和相互关系。
✅ 常见参数
hue
按类别分色,diag_kind="kde"
对角线 KDE,kind="reg"
回归散点图。palette="coolwarm"
调整颜色,markers
设置点的形状。