python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > matplotlib散点图

Python matplotlib实战之散点图绘制

作者: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散点图的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文