首页 > 其他分享 >【matplotlib 实战】--堆叠面积图

【matplotlib 实战】--堆叠面积图

时间:2023-10-01 13:45:08浏览次数:41  
标签:展示 -- 面积 matplotlib 堆叠 df 类别 数据

堆叠面积图和面积图都是用于展示数据随时间变化趋势的统计图表,但它们的特点有所不同。
面积图的特点在于它能够直观地展示数量之间的关系,而且不需要标注数据点,可以轻松地观察数据的变化趋势。而堆叠面积图则更适合展示多个数据系列之间的变化趋势,它们一层层的堆叠起来,每个数据系列的起始点是上一个数据系列的结束点,多数据列的展示更加直观和易于理解。

堆叠面积图观察几个数据系列随时间的变化情况时,既能看到各数据系列的走势,又能看到整体的规模,
但是,过多的系列,也会导致难以分辨。
此外,堆叠面积图展示的数据一般会有时间上的关联,当数据没有时间上的关联时,建议适用堆叠柱状图。

1. 主要元素

堆叠面积图是一种用于展示数据分类、分组和数据关联性的图表,主要由以下几个元素组成:

  1. 堆叠面积:表示数据的分布或密度
  2. 图例:图例用于说明堆叠图的绘制规则和参数
  3. X轴:一般是有序变量,表示数据点的变化区间
  4. Y轴:数据点在不同时刻的值

image.png

2. 适用的场景

堆叠面积图适用于以下分析场景:

  • 类别占比比较:堆叠面积图可以用来比较不同类别在总体中的占比关系。例如,你可以使用堆叠面积图来展示销售额按产品类别的分布情况,以显示每个类别对总销售额的贡献。
  • 趋势展示:堆叠面积图可以在一个图表中同时显示多个类别或组的趋势。它可以用来展示每个类别在不同时间点或区域的变化情况,并帮助分析人员观察和理解各类别之间的差异和趋势。
  • 堆叠级别比较:堆叠面积图还可以用来比较不同级别的数据在总体中的占比关系。例如,你可以使用堆叠面积图来展示各部门在总体支出中的比例,以显示各个部门的相对贡献。
  • 累积效果展示:堆叠面积图可以展示随着时间、地区或其他维度的推移,各组别所积累的整体效果。这对于观察累积效果的变化和趋势非常有帮助。

3. 不适用的场景

堆叠面积图不适用于以下分析场景:

  • 数据重叠:如果数据中有重叠的部分,堆叠面积图会使数据难以解读和比较。当数据的堆叠部分变得模糊或不清晰时,堆叠面积图可能就无法有效地传达信息。
  • 数据量变动:如果每个类别或组的数据量差别很大,堆叠面积图可能会导致视觉上的需求不平衡。数据量较大的类别或组可能会过于突出,而数据量较小的类别或组则可能被掩盖。
  • 无法显示趋势:堆叠面积图在展示数据的总体趋势上相对有效,但却不适用于显示每个类别或组内部的趋势。如果你希望关注每个类别或组的个别趋势,那么使用其他图表类型如折线图可能更为合适。
  • 存在负值数据:堆叠面积图假设数据都是正值,不适合用于展示包含负值的数据。这是因为堆叠面积图的堆叠效果会导致负值的表现相对模糊,难以准确表达。

4. 分析实战

这次使用三大产业的增加值来实战堆叠面积图的分析。

4.1. 数据来源

数据来源国家统计局公开数据,已经整理好的csv文件在:https://databook.top/nation/A02

本次分析使用其中的 A0201.csv 文件(国内生产总值数据)。

下面的文件路径 fp 要换成自己实际的文件路径。

fp = "d:/share/A0201.csv"

df = pd.read_csv(fp)
df

image.png

4.2. 数据清理

过滤出三大产业的数据:

key1 = "第一产业增加值(亿元)"
key2 = "第二产业增加值(亿元)"
key3 = "第三产业增加值(亿元)"

df = df[(df["zbCN"] == key1)
        | (df["zbCN"] == key2)
        | (df["zbCN"] == key3)]
df

image.png

4.3. 分析结果可视化

绘制三大产业的堆叠面积图:

from matplotlib.ticker import MultipleLocator

key1 = "第一产业增加值(亿元)"
key2 = "第二产业增加值(亿元)"
key3 = "第三产业增加值(亿元)"

val1 = df[(df["zbCN"] == key1)].sort_values("sj")
val2 = df[(df["zbCN"] == key2)].sort_values("sj")
val3 = df[(df["zbCN"] == key3)].sort_values("sj")

with plt.style.context("seaborn-v0_8"):
    fig = plt.figure()
    ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
    ax.xaxis.set_major_locator(MultipleLocator(4))
    ax.xaxis.set_minor_locator(MultipleLocator(2))

    ax.stackplot(
        val1["sjCN"],
        [val1["value"], val2["value"], val3["value"]],
        labels=[key1, key2, key3],
        alpha=0.8,
    )

    ax.legend(loc="upper left")

image.png

各个数据集在堆叠面积图中不会重合,
所以不仅可以看出各个产业的增长情况,还能看出整体的增长主要来自哪个产业的影响。

从分析结果可以看出,我国的经济增长主要来自于第二,第三产业的增长。
这个结果和之前的文章中关于人口的分析也是相吻合的,在那个文章中,我们发现农业人口大量减少,城镇人口大量增加。

标签:展示,--,面积,matplotlib,堆叠,df,类别,数据
From: https://www.cnblogs.com/wang_yb/p/17738790.html

相关文章

  • pnputil 是一个命令行实用程序,它用于管理 Windows 系统中的设备驱动程序。它提供了一
    pnputil是一个命令行实用程序,它用于管理Windows系统中的设备驱动程序。它提供了一种简单的方式来安装、卸载、列出和导出设备驱动程序。使用pnputil可以完成以下任务:安装设备驱动程序:将设备驱动程序添加到驱动程序存储库并安装它们。这对于管理员或高级用户来说是很有用的,......
  • Can't delete myfile.mexw64 after run mexw64?
    Ifoundmyanswer,this".mexw64"cannotbedeletedafterusingclear,butcanbedeletedafterusingclearallfromhttps://www.mathworks.com/matlabcentral/answers/1563471-can-t-delete-myfile-mexw64-after-run-mexw64......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记4
    20211306密码系统设计与实现课程学习笔记4任务详情自学教材第7,8章,提交学习笔记知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问......
  • Hyper-V 安装 CentOS 8.5
    前言Hyper-V安装文档:在Windows10上安装Hyper-VCentOS系统下载:CentOS国内镜像源8.5.2111作者:易墨发布时间:2023.10.01原文地址:https://www.cnblogs.com/morang/p/devops-hyperv-centos-install.html使用命令安装以管理员身份运行PowerShell命令:Enable-WindowsOpt......
  • 卡尔曼滤波器在实际工程中考虑的问题-------新息的分析
    一、本文重点本篇文章主要讨论的是什么可以称为卡尔曼滤波器工程的问题,该部分主要是根据卡尔曼滤波器在长期的应用和误用实践中发展出来的。本篇文章的参考内容来自《卡尔曼滤波理论和实践》,同时结合自己的项目开发挑出部分自己测试过程中经常调试的内容。如果有侵权请联系删......
  • Aveva Marine VBNET 编程系列===>读取drawing explorer的第一层级 view
    今天我们研究下读取drawingexpolrer的第一层级:view下面的图纸的层级目录示意图,我们今天需要获取所有的view 主要用到2个方法:1#获取第一个元素MarDrafting.ElementChildFirstGetMethod() 2#获取相邻的元素MarDrafting.ElementSiblingNextGet Method  ......
  • CAD快捷键命令大全:加载插件、图层管理器及变动快捷键
    1:cad加载插件快捷键命令cad加载插件快捷键命令在AutoCAD(2016)中,通过快捷键命令"ap"可以加载插件。加载方法:打开CAD,输入加载插件快捷键命令"ap",回车。进入插件加载对话框。选择永久性加载来一次性加载插件,不需二次加载。点击添加,找到插件位置,选中插件,点击打开。添加进来后,点击关闭......
  • After_Effects_2023_23.5.0.52_ACR15.4图文安装教程及下载
     AdobeAfterEffects(爱国版、一键式安装、永久使用)简称“AE”是Adobe公司推出的一款图形视频处理软件,适用于从事设计和视频特技的机构,包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室。AdobeAfterEffects软件可以帮助您高效且精确地创建无数种引人注目的动态......
  • 【洛谷 P1305】新二叉树 题解(结构体数组+先序遍历+二叉树)
    新二叉树题目描述输入一串二叉树,输出其前序遍历。输入格式第一行为二叉树的节点数。()后面行,每一个字母为节点,后两个字母分别为其左右儿子。特别地,数据保证第一行读入的节点必为根节点。空节点用*表示输出格式二叉树的前序遍历。样例#1样例输入#16abcbdicj*d**i**j**......
  • Keil 配置bin文件
    1、在User中勾选build,在命令中添加下面 D:\SoftWare\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe--bin--outputD:\code\Fwlib-Template\Project\Objects\BH-F103.binD:\code\Fwlib-Template\Project\Objects\BH-F103.axf这里的bin文件名在Output中修改然后在重新编译一下就......