跟着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

相关文章
|
16天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
43 8
|
16天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
46 7
|
16天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
43 4
|
16天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
39 5
|
19天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
60 8
|
1月前
|
移动开发 数据可视化 数据挖掘
利用Python实现数据可视化:以Matplotlib和Seaborn为例
【10月更文挑战第37天】本文旨在引导读者理解并掌握使用Python进行数据可视化的基本方法。通过深入浅出的介绍,我们将探索如何使用两个流行的库——Matplotlib和Seaborn,来创建引人入胜的图表。文章将通过具体示例展示如何从简单的图表开始,逐步过渡到更复杂的可视化技术,帮助初学者构建起强大的数据呈现能力。
|
2月前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
|
2月前
|
数据采集 前端开发 NoSQL
Python编程异步爬虫实战案例
Python编程异步爬虫实战案例
81 2
|
2月前
|
数据采集 自然语言处理 API
Python反爬案例——验证码的识别
Python反爬案例——验证码的识别
50 2
|
2月前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
29 1