Python matplotlib实战之散点图绘制

 更新时间:2023年08月27日 09:12:30   作者:databook  
散点图,又名点图、散布图、X-Y图,是将所有的数据以点的形式展现在平面直角坐标系上的统计图表,本文主要为大家介绍了如何使用Matplotlib绘制散点图,需要的可以参考下

散点图,又名点图、散布图、X-Y图,是将所有的数据以点的形式展现在平面直角坐标系上的统计图表。

散点图常被用于分析变量之间的相关性。

  • 如果两个变量的散点看上去都在一条直线附近波动,则称变量之间是线性相关的;
  • 如果所有点看上去都在某条曲线(非直线)附近波动,则称此相关为非线形相关的;
  • 如果所有点在图中没有显示任何关系,则称变量间是不相关的。

散点图一般需要两个不同变量,一个沿x轴绘制,另一个沿y轴绘制。

众多的散点叠加后,有助于展示数据集的“整体景观”,从而帮助我们分析两个变量之间的相关性,或找出趋势和规律。

1. 主要元素

散点图的主要元素包括:

  • 横轴:表示自变量。
  • 纵轴:表示因变量。
  • 数据点:每个数据点代表一个观测值,它在坐标轴上的位置表示两个变量的对应取值。
  • 趋势线:趋势线是通过数据点拟合出的一条线,用于显示变量之间的趋势或关联性。

2. 适用的场景

散点图适用的分析场景包括:

  • 变量关系探索:帮助我们观察和理解两个变量之间的关系。通过观察数据点的分布情况和趋势线的形状,可以判断变量之间是否存在线性关系、非线性关系或无关系。
  • 趋势分析:用于分析趋势和预测。通过观察趋势线的方向和斜率进行预测。
  • 群体分析:散点图可以帮助我们观察和识别数据点的聚类情况。
  • 异常值检测:散点图可以用于检测异常值或离群点。

3. 不适用的场景

散点图不适用的分析场景包括:

  • 时间序列分析:散点图主要用于展示两个变量之间的关系,对于时间序列数据,通常使用折线图或其他适合展示时间变化的图表类型。
  • 多变量分析:散点图只能展示两个变量之间的关系,对于多个变量之间的关系分析,需要使用其他图表类型,如散点矩阵、平行坐标图等。
  • 分布分析:散点图主要关注变量之间的关系,而不是变量本身的分布情况。如果需要分析变量的分布特征,可以使用直方图、箱线图等图表类型。

4. 分析实战

散点图适合寻找两个变量之间的关系,本次分析 **空气污染 **方面的数据情况。

4.1. 数据来源

数据来源国家统计局公开的数据。
用到的两个统计数据分别是:

  • 工业污染治理中,每年治理废气的投资额
  • 废气中二氧化硫的每年排放量情况

整理好的数据可从下面的地址下载:databook.top/nation/A0C

A0C05.csv(废气中主要污染物排放) 和 A0C0I.csv(工业污染治理投资) 两个文件。

fp = "d:/share/data/A0C05.csv"
df1 = pd.read_csv(fp)
df1

fp = "d:/share/data/A0C0I.csv"
df2 = pd.read_csv(fp)
df2

4.2. 数据清理

2022年数据是空的,所以从两个文件中分别提取 2012~2021年期间,汇总**所有废气排放量(万吨)治理废气项目完成投资(万元) **两类数据绘制图形。

#所有废气的排放量
data_x = df1[(df1["sj"] >= 2012) &
            (df1["sj"] <= 2021)]
data_x = data_x.loc[:, ["sj", "value"]]
data_x = data_x.groupby("sj").sum("value")
#治理废气项目投资 A0C0I03是治理废气投资的编号
data_y = df2[(df2["sj"] >= 2012) &
            (df2["sj"] <= 2021) &
            (df2["zb"] == "A0C0I03")]
data_y = data_y.sort_index(ascending=False)

4.3. 分析结果可视化

with plt.style.context("seaborn-v0_8"):
    fig = plt.figure()
    ax = fig.add_axes([0.1, 0.1, 0.6, 0.6])
    ax.scatter(data_x["value"], data_y["value"]/10000)
    ax.set_xlabel("废气排放量(万吨)")
    ax.set_ylabel("治理废气项目完成投资(亿元)")

从分析结果图中来看,排放的废气量越大的时候,治理的投资费用也越高。

但是右下角红色框内有一个异常值,那个是2012年的数据。

估计那时候还不太重视环保,所以即使那时候废气排放量大,用于治理废气的投资费用也不高。

以上就是Python matplotlib实战之散点图绘制的详细内容,更多关于matplotlib散点图的资料请关注脚本之家其它相关文章!

相关文章

  • pytorch网络模型构建场景的问题介绍

    pytorch网络模型构建场景的问题介绍

    这篇文章主要介绍了pytorch网络模型构建场景的注意点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-03-03
  • Django添加bootstrap框架时无法加载静态文件的解决方式

    Django添加bootstrap框架时无法加载静态文件的解决方式

    这篇文章主要介绍了Django添加bootstrap框架时无法加载静态文件的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python笔记:mysql、redis操作方法

    python笔记:mysql、redis操作方法

    下面小编就为大家带来一篇python笔记:mysql、redis操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Flask搭建虚拟环境并运行第一个flask程序

    Flask搭建虚拟环境并运行第一个flask程序

    这篇文章主要介绍了Flask搭建虚拟环境并运行第一个flask程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • django 2.0更新的10条注意事项总结

    django 2.0更新的10条注意事项总结

    Django 是 Python Web 开发最常用的框架之一,跟进它的最新变化绝对是必须的。下面这篇文章主要给大家介绍了关于django 2.0更新的10条注意事项,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-01-01
  • python实现判断一个字符串是否是合法IP地址的示例

    python实现判断一个字符串是否是合法IP地址的示例

    今天小编就为大家分享一篇python实现判断一个字符串是否是合法IP地址的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 实现Windows下设置定时任务来运行python脚本

    实现Windows下设置定时任务来运行python脚本

    这篇文章主要介绍了实现Windows下设置定时任务来运行python脚本的完整过程,有需要的朋友可以借鉴参考下,希望对广大读者朋友能够有所帮助
    2021-09-09
  • python pytorch图像识别基础介绍

    python pytorch图像识别基础介绍

    大家好,本篇文章主要讲的是python pytorch图像识别基础介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Python数据结构之双向链表详解

    Python数据结构之双向链表详解

    单链表只有一个指向直接后继的指针来表示结点间的逻辑关系,可以方便的从任一结点开始查找其后继结点,但要找前驱结点则比较困难,双向链表是为了解决这一问题,使用两个指针表示结点间的逻辑关系。本文将重点为大家介绍双向链表的相关操作,需要的可以参考一下
    2022-01-01
  • Python语言描述最大连续子序列和

    Python语言描述最大连续子序列和

    这篇文章主要介绍了Python语言描述最大连续子序列和,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12

最新评论