跟着mpg案例学Seaborn之Scatter

简介: 跟着mpg案例学Seaborn之Scatter

本期,我们来介绍一下Seaborn中的Scatter(散点图),散点图是一种基础且功能强大的图表类型,它通过在二维平面上绘制点来展示两个变量之间的关系。在Seaborn中,散点图不仅能够展示变量间的相关性,还可以通过不同的颜色、大小和形状来展示额外的维度信息。Seaborn散点图的优势:1.美观的默认样式:Seaborn散点图拥有美观的默认配色方案和主题,使得图表看起来更加专业和吸引人。2.易于使用:Seaborn简化了散点图的创建过程,只需要几行代码即可生成复杂的图表。3.灵活性高:可以轻松地添加回归线、分组变量等,以增强图表的信息量。

一、mpg数据集mpg,miles per gallon即油耗,这个数据集来自卡内基梅隆大学维护的StatLib库。该数据集共计9个特征,398个样本,用于回归任务。

fe5a41350e9b1e9a54b4c610ada149f8.png

数据集中的9个特征名分别为:

mpg:油耗, miles per galloncylinders:气缸数量displacement:排气量/排量horsepower:马力weight:重量acceleration:加速度model year:出厂时间origin:产地name:车品牌

数据集的链接为:

通过百度网盘分享的文件:mpg.csv链接:https://pan.baidu.com/s/1yIwnNrg3Rhf3wL0uwXGpdA提取码:6666

导入数据集,发现horsepower列中有6个缺失值,我们用以下命令来补充缺失值:

#补充缺失值df['horsepower']=df['horsepower'].fillna(df['horsepower'].median())df.isnull().sum()


50c07ebecf3c3a4064a7b81d6b442402.png

二、汽车重量与马力之间的Scatter图

我们用Seaborn中的scatter来画一下数据集中汽车重量(weight)与马力(horsepower)之间的关系图。

#汽车重量与马力之间的关系sns.scatterplot(data=df, x='weight', y='horsepower', palette='deep', s=150, alpha=0.7)plt.title('汽车重量与马力的散点关系图')plt.xlabel('汽车重量')plt.ylabel('汽车的马力')


4a456ec65f6bd779285ba1a8959cd322.png

从图中,我们可以看到汽车重量越大,马力越大。

三、不同产地的汽车重量与马力之间的Scatter图

#加一个产地看看数据集中 不同国家的汽车分布情况sns.scatterplot(data=df, x='weight', y='horsepower', s=150, alpha=0.7,               hue='origin', palette='deep')plt.title('不同产地的汽车重量与马力的散点关系图')plt.xlabel('汽车重量')plt.ylabel('汽车的马力')

64d199161249ba0800bbc3b12406d6c5.png

从图中可以看到,日系车的汽车重量普遍偏轻,马力较小;欧洲车的重量稍大;而美国汽车重量和马力涵盖范围最大。

四、不同产地、不同气缸数量的汽车重量与马力的Scatter图

我们把气缸数量这个参数也放到Scatter图中。

# 加个气缸数量的图sns.scatterplot(data=df, x='weight', y='horsepower', sizes=(40, 400), alpha=0.8,              palette='deep', hue='origin', size='cylinders')plt.title('不同产地、不同气缸数量的汽车重量与马力的散点关系图')plt.xlabel('汽车重量')plt.ylabel('汽车的马力')


b2ea9cbedb20c9d00b8177774e1f4c12.png

从图中,我们可以看到,大马力、气缸数量多的汽车集中在美国汽车中,小马力、气缸数量少的汽车集中在日系、欧洲汽车中。

五、美化标签

我们将origin(汽车产地)这一列变成Scatter中的style看看。

# 美化加markersns.scatterplot(data=df, x='weight', y='horsepower', s=150, alpha=0.7,              style='origin',palette='deep', hue='origin')plt.title('不同产地的汽车重量与马力的散点关系图-美化标签')plt.xlabel('汽车重量')plt.ylabel('汽车的马力')

d29df74af1fae2b7fb5ac6097a182969.png

跟上面的图相比,这个加上美化标签的图更直观清晰。

六、加一个回归线

我们可以通过lmplot画出Scatter图的回归线。

#添加一条回归线sns.lmplot(x='weight', y='horsepower', data=df, aspect=2)

7d7f13022d1b7ab92f7e019bab201d8e.png

七、总结

本期,我们介绍了Seaborn中的散点图(Scatter),散点图具有很强的使用场景。比如在如下场景中非常适用:

  • 关系评估:散点图有助于确定两个连续变量之间的关系性质。
  • 异常值识别:散点图可以突出显示异常值,即那些显著偏离整体模式的数据点。
  • 聚类和分组:通过视觉检查点的分布,你可以识别变量之间是否存在自然的分组或模式。
  • 趋势分析:通过按时间顺序绘制数据点,散点图可以描绘变量的演变或进展,帮助识别趋势或行为变化。
  • 相关性分析:可以从散点图中观察到统计度量,如相关系数。它可以揭示是否存在正相关(两个变量同时增加或减少)、负相关(一个变量增加而另一个减少)或无相关性(没有明显关系)。
  • 模型验证:通过比较模型的预测值与实际值,散点图可以可视化模型预测的准确性或偏差。

自己动手试试吧?当然想要学习更多关于Scatter的相关知识,请参考官方文档:

https://seaborn.pydata.org/generated/seaborn.scatterplot.html

相关文章
|
7月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
8月前
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
569 0
|
10月前
|
数据采集 存储 NoSQL
Python爬虫案例:Scrapy+XPath解析当当网网页结构
Python爬虫案例:Scrapy+XPath解析当当网网页结构
|
11月前
|
数据可视化 算法 数据挖掘
Python 3D数据可视化:7个实用案例助你快速上手
本文介绍了基于 Python Matplotlib 库的七种三维数据可视化技术,涵盖线性绘图、散点图、曲面图、线框图、等高线图、三角剖分及莫比乌斯带建模。通过具体代码示例和输出结果,展示了如何配置三维投影环境并实现复杂数据的空间表示。这些方法广泛应用于科学计算、数据分析与工程领域,帮助揭示多维数据中的空间关系与规律,为深入分析提供技术支持。
448 0
Python 3D数据可视化:7个实用案例助你快速上手
|
搜索推荐 算法 程序员
6个案例15分钟让你了解Python套路
Python以其简洁易读的语法,成为编程初学者的首选。本文通过7个经典代码案例,带你快速了解Python编程的核心概念和常用技巧: 1. **九九乘法口诀**:使用嵌套循环打印乘法表。 2. **列表求和**:展示两种方法(for循环和内置函数sum())计算列表元素之和。 3. **素数判断**:编写函数判断一个数是否为素数。 4. **斐波那契数列**:生成指定长度的斐波那契数列。 5. **冒泡排序**:实现简单的冒泡排序算法。 6. **汉诺塔问题**:通过递归解决经典的汉诺塔问题。 这些案例不仅展示了Python的基础语法,更体现了编程思维的重要性,帮助初学者逐步掌握编程套路。
410 2
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
525 8
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
478 7
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
709 8
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
276 4
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
271 5

推荐镜像

更多