【Python画图-seaborn驯化】一文学会seaborn画散点图scatterplot、swarmplot技巧

【Python画图-seaborn驯化】一文学会seaborn画散点图scatterplot、swarmplot

 
本次修炼方法请往下查看
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 免费获取相关内容文档关注:微信公众号,发送 pandas 即可获取
🎇 相关内容视频讲解 B站

🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验

🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🎯 1. 基本介绍

  散点图是一种用于展示两个变量之间关系的图表。在Seaborn库中,散点图可以通过scatterplot函数方便地绘制,它非常适合用于探索数据集中变量间的相关性、趋势或模式。

💡 2. 原理介绍

  散点图本身不涉及复杂的数学公式,它简单地将数据点在二维平面上进行投影。每个数据点的位置由两个变量的值决定: ( x i , y i ) (x_i,y_i) (xi,yi), 其中 x i x_i xi y i y_i yi分别代表第 i 个数据点在x轴和y轴上的值。

🔍 3. 画图实践

3.1 数据准备

   我们通过seaborn自带的数据对其进行相关的画图,具体的导入数据代码如下所示:

import seaborn as sns
import matplotlib.pyplot as plt

# 使用Seaborn内置的tips数据集
tips = sns.load_dataset("tips")

	total_bill	tip	sex	smoker	day	time	size
0	16.99	1.01	Female	No	Sun	Dinner	2
1	10.34	1.66	Male	No	Sun	Dinner	3
2	21.01	3.50	Male	No	Sun	Dinner	3
3	23.68	3.31	Male	No	Sun	Dinner	2
4	24.59	3.61	Female	No	Sun	Dinner	4
...	...	...	...	...	...	...	...
239	29.03	5.92	Male	No	Sat	Dinner	3
240	27.18	2.00	Female	Yes	Sat	Dinner	2
241	22.67	2.00	Male	Yes	Sat	Dinner	2
242	17.82	1.75	Male	No	Sat	Dinner	2
243	18.78	3.00	Female	No	Thur	Dinner	2

3.2 基本散点图scatterplot

   如果画两个变量的时序上的变化关系的散点图,需要使用scatterplot函数,具体的代码如下所示:

# 绘制散点图,展示总账单和消费金额的关系
sns.scatterplot(x="total_bill", y="tip", data=tips)

# 添加标题和轴标签
plt.title("Total Bill vs Tip Amount")
plt.xlabel("Total Bill")
plt.ylabel("Tip Amount")

# 显示图表
plt.show()

在这里插入图片描述

3.3 条形散点图stripplot

   Stripplot(条形散点图)

  • Stripplot使用stripplot函数绘制。
    它通常用于展示一个分类变量和一个连续变量之间的关系。
    每个数据点在图上表示为一个条形,条形的x轴位置根据分类变量的类别确定。
    适合于展示不同类别的分布情况,以及类别间的比较。
       具体的代码如下所示:
ax = sns.stripplot(x="day", y="total_bill", data=tips)

在这里插入图片描述

  有时候我们不仅要分组,同时对每个分组内某个特征维度进行对比分析,具体的代码如下所示:

# 分组的散点图
ax = sns.stripplot(x="day", y="total_bill", data=tips, hue="smoker")

在这里插入图片描述

4 高阶用法

   有时候我们需要指定画图出现的顺序,具体的代码如下所示:

# 是不是想横着放呢,很简单的,x-y顺序换一下就好了
ax = sns.stripplot(x="total_bill", y="day", data=tips,jitter=True)

在这里插入图片描述

3.3 分布散点图swarmplot

  swarmplt的参数和用法和stripplot的用法是一样的,只是表现形式不一样而已。具体的代码如下所示:

# 分组的散点图
ax = sns.swarmplot(x="day", y="total_bill", data=tips)

在这里插入图片描述

🔍 4. 注意事项

  • 散点图非常适合于展示两个连续变量之间的关系。
  • 当数据集中的数据点数量非常大时,散点图可能会变得杂乱无章。在这种情况下,可以考虑使用六边形网格图(hexbin plot)或小提琴图。
  • 散点图可以添加颜色或大小来表示第三个变量,从而提供更多的信息维度。
  • 检查数据中的异常值或离群点,它们可能会影响对变量关系的解释。

🔍 5. 总结

  Seaborn的散点图是一个直观的工具,用于探索和展示两个变量之间的关系。通过本博客的代码示例,我们学习了如何使用Seaborn绘制散点图,并展示了如何通过散点图分析数据集中的趋势和模式。希望这篇博客能够帮助你更好地利用散点图进行数据探索和分析。

  • 28
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法驯化师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值