用Python进行AI数据分析进阶教程38:
Seabor的联合图和成对图的绘制
关键词:Seaborn、联合图(Joint Plot)、成对图(Pair Plot)、数据类型、变量关系
摘要:本文介绍了Seaborn库中的联合图(Joint Plot)和成对图(Pair Plot)的绘制方法。联合图用于展示两个变量之间的关系及各自分布,支持散点图、直方图、核密度估计图等多种类型,适用于连续型变量分析,可自定义图形外观。成对图则用于展示数据集中多个变量之间的两两关系,通过不同子图展示变量对关系及单变量分布,适用于快速发现变量相关性和分布特征,可通过分类变量进行分组展示。使用时需注意数据量、异常值处理及图形复杂度,以确保分析结果准确性和可读性。联合图和成对图是数据分析中重要的可视化工具。
👉 欢迎订阅🔗
《用Python进行AI数据分析进阶教程》专栏
《AI大模型应用实践进阶教程》专栏
《Python编程知识集锦》专栏
《字节跳动旗下AI制作抖音视频》专栏
《智能辅助驾驶》专栏
《工具软件及IT技术集锦》专栏
一、Seabor的联合图
1、概述
联合图(Joint Plot)用于同时展示两个变量之间的关系以及每个变量自身的分布情况。它可以将散点图、直方图、核密度估计图等组合在一起,直观地呈现数据特征。
2、关键点
- 数据类型:通常适用于两个连续型变量,例如身高和体重、温度和湿度等。
- 绘图类型:
- scatter:默认类型,绘制散点图展示两个变量的关系,同时在边缘绘制直方图展示各自的分布。
- reg:在散点图基础上添加线性回归拟合线。
- resid:绘制残差图。
- kde:使用核密度估计图来展示变量的分布和关系。
- hex:使用六边形分箱图展示变量关系。
- 自定义参数:可以通过设置参数来自定义图形的外观,如颜色、标签、标题等。
3、注意点
- 数据量:当数据量非常大时,散点图可能会变得拥挤,此时可以考虑使用hex或kde类型。
- 异常值:异常值可能会影响回归拟合线或核密度估计的结果,需要进行适当的处理。
- 相关性:联合图可以直观地展示两个变量之间的关系,但不能确定它们之间是否存在因果关系。
4、示例代码
Python脚本
import seaborn as sns
import matplotlib.pyplot as plt
# 加载示例数据集
tips = sns.load_dataset("tips")
# 设置支持中文的字体
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
# 创建联合图,使用默认的散点图和直方图
joint = sns.jointplot(x="total_bill", y="tip", data=tips)
joint.set_axis_labels("总账单金额", "小费金额")
joint.fig.suptitle("总账单金额与小费金额的联合图")
# 创建使用核密度估计的联合图
kde_joint = sns.jointplot(x="total_bill", y="tip", data=tips, kind="kde")
kde_joint.set_axis_labels("总账单金额", "小费金额")
kde_joint.fig.suptitle("总账单金额与小费金额的核密度联合图")
plt.show()
二、Seaborn 成对图(Pair Plot)
1、概述
成对图(Pair Plot)用于展示数据集中多个变量之间的两两关系。它会为数据集中的每对数值变量创建一个子图,对角线上的子图展示每个变量的单变量分布,非对角线上的子图展示变量对之间的关系。
2、关键点
- 数据类型:适用于多个连续型变量的数据集,能够快速发现变量之间的相关性和分布特征。
- 分类变量:可以通过hue参数指定一个分类变量,将数据按照该分类进行分组,不同组使用不同颜色表示。
- 绘图类型:对角线上可以使用直方图或核密度估计图展示单变量分布,非对角线上可以使用散点图、线性回归图等展示变量对之间的关系。
3、注意点
- 变量数量:随着变量数量的增加,成对图的子图数量会呈平方增长,可能会导致图形过于复杂,难以解读。可以选择部分重要的变量进行绘制。
- 数据规模:对于大规模数据集,绘制成对图可能会消耗大量的计算资源和时间。可以考虑对数据进行采样后再绘制。
- 颜色区分:当使用hue参数进行分组时,要确保选择的颜色能够清晰地区分不同的类别。
4、示例代码
Python脚本
import seaborn as sns
import matplotlib.pyplot as plt
# 加载示例数据集
iris = sns.load_dataset("iris")
# 设置支持中文的字体
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
# 创建成对图
pair = sns.pairplot(iris, hue="species")
pair.fig.suptitle("鸢尾花数据集的成对图", y=1.02)
plt.show()
三、总结
联合图主要用于深入分析两个变量之间的关系和各自的分布,而成对图则用于快速浏览多个变量之间的两两关系。在使用时,需要根据数据的特点和分析目的选择合适的图形类型,并注意数据量、异常值等因素对图形的影响。
——The END——
🔗 欢迎订阅专栏
| 序号 | 专栏名称 | 说明 |
|---|---|---|
| 1 | 用Python进行AI数据分析进阶教程 | 《用Python进行AI数据分析进阶教程》专栏 |
| 2 | AI大模型应用实践进阶教程 | 《AI大模型应用实践进阶教程》专栏 |
| 3 | Python编程知识集锦 | 《Python编程知识集锦》专栏 |
| 4 | 字节跳动旗下AI制作抖音视频 | 《字节跳动旗下AI制作抖音视频》专栏 |
| 5 | 智能辅助驾驶 | 《智能辅助驾驶》专栏 |
| 6 | 工具软件及IT技术集锦 | 《工具软件及IT技术集锦》专栏 |
👉 关注我 @理工男大辉郎 获取实时更新
欢迎关注、收藏或转发。
敬请关注 我的
微信搜索公众号:cnFuJH
优快云博客:理工男大辉郎
抖音号:31580422589



被折叠的 条评论
为什么被折叠?



