可视化绘图技巧100篇进阶篇(九)-三维百分比堆积条形图(3D Stacked Percentage Bar Chart)

目录

前言

适用场景

绘图工具及代码实现   

帆软

实现思路

方案一:使用计算指标

上传数据

添加组件

生成图表

添加计算字段

生成分区柱形图

生成百分比堆积条形图

 美化图表

设置标签

设置颜色

效果查看

PC 端

移动端

方案二:使用自助数据集

上传数据

添加组件

生成图表

美化图表

设置标签

设置颜色

Origin

PPT

 echarts

 Tableau


 

前言

三维百分比堆积条形图(3D Stacked Percentage Bar Chart)是一种数据可视化图表,用于展示多个类别在不同组内的百分比关系。它在三维空间中以条形的高度表示数据的百分比,每个条形又被分为不同的堆积组,每个组内的不同类别以不同的颜色表示。

适用场景

三维百分比堆积条形图适用于展示多个类别在不同组内的百分比分布,特别适合比较组内各类别的相对比例。它可以在可视化中显示随时间或其他维度的变化,有助于发现趋势。
优势:三维百分比堆积条形图能够清楚地显示不同类别在各组中所占的比例,突出比较。适用于展示随时间或其他维度变化的数据,帮助观察趋势和模式。
劣势:由于堆积和三维效果可能会导致视觉混淆和误解,不适合显示大量数据。此外,图表的复杂性可能影响理解,因此需要慎重选择使用场景。

绘图工具及代码实现   

帆软

制造业有不同的产线,产线上有不同的车间,每个车间生产不同质量等级的产品。当需要根据产线、产线下的车间分类,统计不同质量等级的产品,用于判断不同生产线、车间的生产状况时,可以通过多系列百分比堆积柱形图实现。如下图所示:

 

14.png

实现思路

交换分区柱形图横纵轴的字段,并开启堆积。

方案一:使用计算指标

上传数据

1)管理员进入系统,点击「我的分析」,选中某个文件夹,点击「新建分析主题」。如下图所示:

堆积面积图-1.jpg

2)点击「本地Excel文件>上传数据」,上传表数据。如下图所示:

堆积面积图-2.jpg

3)上传后,点击「确定」按钮。如下图所示:

多系列百分比堆积条形图-1.jpg

添加组件

点击左下角「组件」按钮。如下图所示:

多系列百分比堆积条形图-2.jpg

生成图表

添加计算字段

添加计算字段,命名为「计算指标」,值为SUM_AGG(指数值)/TOTAL(SUM_AGG(指数值),1,"sum")。如下图所示:

注:此处的「指数值」字段需要在字段栏选择填入公式,手动输入无效。

多系列百分比堆积条形图-3.jpg

公式介绍如下表所示:

公式说明备注
SUM_AGG(指数值)根据维度字段,返回「指数值」的汇总求和

SUM_AGG函数

TOTAL函数

TOTAL(SUM_AGG(指数值),1,"sum")根据维度字段对「指数值」进行组内汇总求和
生成分区柱形图

在图表类型下选择「分区柱形图」,将「ENO2」和「ChamberNumber」字段(即产线与车间)拖入横轴,「计算指标」字段拖入纵轴。如下图所示:

多系列百分比堆积条形图-4.jpg

生成百分比堆积条形图

1)设置「计算指标」字段数值格式为百分比。步骤如下图所示:

1658481490409202.jpg

2)交换横纵轴字段。如下图所示:

多系列百分比堆积条形图-6.jpg

3)开启堆积。步骤如下图所示:

多系列百分比堆积条形图-7.jpg

4)将「等级」字段拖入颜色属性栏,此时每个车间按照质量等级显示指数值,不同等级显示的颜色不同。如下图所示:

多系列百分比堆积条形图-8.jpg

 美化图表

设置标签

将「计算指标」字段拖入标签栏,点击「标签」栏,设置标签「居中」显示。如下图所示:

多系列百分比堆积条形图-9.jpg

设置颜色

点击「颜色」栏,配色方案选择「清新多彩」。如下图所示:

多系列百分比堆积条形图-10.jpg

效果查看

新建仪表板,并将组件拖入到仪表板中。

PC 端

如下图所示:

14.png

移动端

App 及 HTML5 端效果如下图所示:

1658822979766733.jpg

方案二:使用自助数据集

上传数据

1)复制「作图数据」表,并重命名表名为「百分比」,点击编辑按钮。如下图所示:

1658482311830138.jpg

2)字段全选。如下图所示:

1658482505566886.jpg

3)对数据进行分组汇总。如下图所示:

1658482811525217.jpg

4)组内求和,求每个车间下的指数值的和。如下图所示:

1658482938146705.jpg

5)新增列,求「指数值」在组内的占比,如下图所示:

多系列百分比堆积条形图-17.jpg

6)点击「保存并更新」按钮。如下图所示:

多系列百分比堆积条形图-18.jpg

添加组件

点击左下角「组件」按钮。如下图所示:

多系列百分比堆积条形图-19.jpg

生成图表

1)切换数据表为「百分比」。在图表类型下选择「分区柱形图」,将「ENO2」和「ChamberNumber」字段(即产线与车间)拖入横轴,「占比」字段拖入纵轴。如下图所示:

多系列百分比堆积条形图-20.jpg

2)设置「占比」的数值格式为百分比。如下图所示:

多系列百分比堆积条形图-21.jpg

3)交换横纵轴字段。如下图所示:

多系列百分比堆积条形图-22.jpg

4)「占比」字段开启堆积。如下图所示:

多系列百分比堆积条形图-23.jpg

5)将「等级」字段拖入颜色栏。如下图所示:

1658710881525639.jpg

美化图表

设置标签

将「占比」字段拖入标签栏,点击「标签」栏,设置标签「居中」显示。如下图所示:

多系列百分比堆积条形图-25.jpg

设置颜色

点击「颜色」栏,配色方案选择「清新多彩」。如下图所示:

多系列百分比堆积条形图-26.jpg

Origin

1. 打开软件,输入数据

图片

2. 计算性别的百分比,直接在F(x)输入公式:D/C*100,即可出现数值

图片

3. 选中A-D列数据,选择3D百分比堆积条状图

图片

4. 基本的图形就出来了

图片

5. 双击柱子,更改为圆柱形

图片

6.设置自己喜欢的颜色,填充颜色和边框颜色一致即可

图片

7.这是我使用的两个颜色

图片

8.最后,我们给他加上标签,也就是我们刚才计算的最后一列数据

图片

9.添加图例

图片

10.右击图例-图例-更新图例

图片

11.选择重构

图片

12.最终更改一下纵坐标标签,图形就完成了

图片

PPT

  1. 1. 首先,请大家在电脑中找到“PPT”图标,点击进入主界面,然后新建一个空白文档。

  2. 2. 第二步,如图所示,请大家依次点击【插入】—【图表】—【柱形图】—【三维百分比堆积柱形图】选项。

  3. 3.第三步,完成上一步后,请大家选择新界面中的【确定】,屏幕中将会出现如图所示的默认样式图表。

  4. 4. 在图表上点击鼠标右键,点击【设置图表区域格式】。

  5. 5. 第五步,我们需要点击屏幕右边的【图表选项】——【三维旋转】,接着请依次修改一下【X旋转】、【Y旋转】和【深度】的数值,大家可以默认勾选【直角坐标轴】和【自动缩放】。

  6. 6. 第六步,如图所示即为三维效果更强的图表,是不是很直观形象?

  7. 7. 最后,请大家再次对图表进行深入的简化和美化,我们可以调整柱体颜色,还能给背景墙和基座设置灰色,接着请把网格和坐标轴数字去掉,此外,我们需要设置图表字体和标题字号,并且添加如图所示的数据标签,最后,只需给绘图区设置灰色即可。

 echarts

条形图实际上范围很广,它是以横置图形展示数据的一种图表类型。百分比堆积条形图即以堆积条形图的形式来显示多个数据序列,但是每个堆积元素的累积比例始终总计为 100%。它主要用于显示一段时间内的多项数据占比情况。

 

 

获取到数据后,将tooltip中的formatter修改

tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' },
          formatter: function(params) {//这里就是控制显示的样式
            let relVal = params[0].name;
            let value = 0;
            for (let i = 0, l = params.length; i < l; i++) {
              value += params[i].value;
            }
            for (let i = 0, l = params.length; i < l; i++) {
              //marker 就是带颜色的小圆圈 seriesName x轴名称  value  y轴值 后面就是计算百分比
              relVal += '<br/>'+ params[i].marker + params[i].seriesName + '  : 数量 : '+ parseFloat(params[i].value) +', 百分比 : ' + (100 *
                parseFloat(params[i].value) / parseFloat(value)).toFixed(2) + "%";
            }
            return relVal;
          },
        },

 

百分比堆叠条形图将多个数据集的条形彼此叠加显示,适合用来显示大类别如何细分为较小的类别,以及每部分与总量之间的关系。在展示不同的数据集时,可以按照数值百分比两种形式进行展示,本文介绍的堆叠条形图采用的是百分比的形式,如果希望使用数值的展示形式,可以使用堆叠条形图。

在图表中,X轴字段为纵坐标,反映了条形的组成部分,Y轴字段为横坐标,反映了每一个条形部分的长度。

百分比堆叠条形图的字段设置有以下两种情形:

①当X轴为一个字段,Y轴为一个字段时,如图:

上图中所用示例数据如下:

 

②当X轴为一个字段,Y轴为多个字段时,如图:

上图中所用示例数据如下:

 

可以看到,X轴使用了“星期”字段,Y轴分别使用了“男生占比”和“女生占比”两个字段,在上图的示例中可以清楚看到不同日期间男生和女生占比的对比情况。

从上面两个例子中,我们可以总结出百分比堆积条形图的两个特点:

①百分比堆叠条形图适用于展示截面类的数据;

②百分比堆叠条形图适用于展示比例信息,而不展示具体的数值。

因此,百分比堆积条形图在关于男女差异的统计中较为常用。它不仅用于国家统计,也可以广泛用于企业用户调查中。

 Tableau

 

虽然这个图形比较简单,但我们还是需要先分析一下整个图表的结构和所需要的视图数据。如图 8‑17所示,要制作这个百分比条形图,视图数据分别需要“类别”、 “利润率”和“目标”三组数据,其中,“类别”是维度字段同时作为标题(表头)使用,“利润率”和“目标”是度量字段,作为坐标轴使用,标记类型都是条形图。

 

基于这样的分析后,我们就会很自然的想到使用双轴绘制2个度量值的图表。“类别”和“利润率”是数据集中自带的字段,而目标字段中的100%这个值数据集中并没有出现,这种情况下通常可以双击列功能区,手动添加一个即席计算字段“AVG(1)”,这样就会在视图数据中增加目标值100%,同时形成一个长度为1(100%)的条形图。

 

对于两个度量值的图表来说,除了使用双轴的方案以外,还可以考虑使用度量值和度量名称的方式实现。此时可以在图 8‑18的基础上,直接拖动任意一个度量值到另一个度量值形成的坐标轴上,就可以自动形成度量值和度量名称(图 8‑19)。

 

这里,我们需要在菜单栏的“堆叠标记”中选择关闭,以免条形图沿着坐标轴的方向叠加到一起。最后,使用度量名称标记颜色,利润率显示标签,就可以完成图形的制作。

 

在制作的过程中我们就会发现,此种方案标签只能选择左对齐,使用其他方式会显示多个标签值。如果希望标签值与图 8‑18保持一致的话,仍然可以考虑双轴的方案。在列功能区增加一个“利润率”字段,与“度量值”字段形成双轴。“利润率”的标记类型选择“甘特条形图”,颜色调整为透明,标签对齐方式选择“中部右侧”,这样就达到了与图 8‑18一样的效果。

以上两种方案,虽然实现方式不同但底层逻辑一致,都是“AVG(1)”形成的条形图在下,“利润率”形成的条形图在上,这样的方式更易于被普通学习者理解。

其实我们还可以换一种思路来认识这个图表,一个完整的百分比条形图也可以由“利润率”和“100%-利润率”两个条形图堆叠在一起形成,这里就不是图层排序的概念,而是转为了图形堆叠。如图 8‑22所示,当在菜单栏的“堆叠标记”中选择开启后,两个条形图就堆积在一起,形成了完整的百分比条形图。此时,我们再结合制作图 8‑20的过程中的关闭堆叠效果,就会发现开启堆叠效果,条形图会沿轴方向依次排列;关闭堆叠效果,条形图都会从0轴开始,这就是导致需要使用不同的计算字段的原因。

 

最后在添加“利润率”标签时,我们还可以使用参考线替换上面提到的双轴方式。如图 8‑23所示,在度量值形成的坐标轴上添加参考线,线选择无表示不显示线,参考线标签显示每个单元格的利润率值,编辑参考线颜色、对齐方式、阴影后,依然完成了同样的百分比条形图制作。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/76885.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tk切换到mac的code分享

文章目录 前言一、基础环境配置二、开发软件与扩展1.用到的开发软件与平替、扩展情况 总结 前言 最近换上了coding人生的第一台mac&#xff0c;以前一直偏好tk&#xff0c;近来身边的朋友越来越多的用mac了&#xff0c;win的自动更新越来越占磁盘了&#xff0c;而且win11抛弃了…

ReactNative进阶(三十四):ipa Archive 阶段报错error: Multiple commands produce问题修复及思考

文章目录 一、前言二、问题描述三、问题解决四、拓展阅读五、拓展阅读 一、前言 在应用RN开发跨平台APP阶段&#xff0c;从git中拉取项目&#xff0c;应用Jenkins进行组包时&#xff0c;发现最终生成的ipa安装包版本号始终与项目中设置的版本号不一致。 二、问题描述 经过仔…

svn 过滤文件

1. 右键点击&#xff0c;依次选择 TortoiseSVN -> Settings 2. 添加需要过滤的后缀/关键词【 *.iml *.idea *.jar *.class 】

01- vdom 和模板编译源码

组件渲染的过程 template --> ast --> render --> vDom --> 真实的Dom --> 页面 Runtime-Compiler和Runtime-Only的区别 - 简书 编译步骤 模板编译是Vue中比较核心的一部分。关于 Vue 编译原理这块的整体逻辑主要分三个部分&#xff0c;也可以说是分三步&am…

Nginx转发请求到后端服务报400 Bad Request

问题描述 系统部署好后&#xff0c;进行测试时发现有部分接口出错&#xff0c;项目采用Nginx作为后端代理服务器&#xff0c;有Nginx统一将请求转发到后端的网关服务&#xff0c;再由网关服务路由到具体的服务上&#xff0c;发布好后&#xff0c;大部分接口都是正常的&#xff…

时序预测 | MATLAB实现基于CNN-GRU卷积门控循环单元的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于CNN-GRU卷积门控循环单元的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-GRU卷积门控循环单元的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 MATLAB实现基于CNN-GRU卷积…

一.RocketMQ概念

RocketMQ概念 1.概念2.应用场景3.MQ的优点和缺点4.常见MQ对比 1.概念 MQ(Message Queue)&#xff0c;是一种提供消息队列服务的中间件&#xff0c;也称为消息中间件&#xff0c;是一套提供了消息生产、存储、消费全过程API的软件系统。 RocketMQ是阿里巴巴2016年MQ中间件&…

uniapp 上传比较大的视频文件就超时

uni.uploadFile&#xff0c;上传超过10兆左右的文件就报错err&#xff1a;uploadFile:fail timeout&#xff0c;超时 解决&#xff1a; 在manifest.json文件中做超时配置 uni.uploadFile({url: this.action,method: "POST",header: {Authorization: uni.getStorage…

Azure创建自定义VM镜像

创建一个虚拟机&#xff0c;参考 https://blog.csdn.net/m0_48468018/article/details/132267096&#xff0c;入站端口开启80&#xff0c;22 进行远程远程连接 使用CLI命令部署NGINX,输入如下命令 sudo su apt-get update -y apt-get install nginx git -y最后的效果 4. 关闭…

Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理

Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理 目录 Unity C# 之 Azure 微软SSML语音合成TTS流式获取音频数据以及表情嘴型 Animation 的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、实现步骤 五、关键代码 一、简…

如何进行无线网络渗透测试?

今天我们将继续深入探讨Kali Linux的应用&#xff0c;这次我们将重点介绍如何使用Kali Linux进行无线网络渗透测试。无线网络渗透测试是评估无线网络安全性的重要步骤&#xff0c;而Kali Linux作为一款专业的渗透测试发行版&#xff0c;提供了丰富的工具来帮助你进行这项任务。…

知识体系总结(九)设计原则、设计模式、分布式、高性能、高可用

文章目录 架构设计为什么要进行技术框架的设计 六大设计原则一、单一职责原则二、开闭原则三、依赖倒置原则四、接口分离原则五、迪米特法则&#xff08;又称最小知道原则&#xff09;六、里氏替换原则案例诠释 常见设计模式构造型单例模式工厂模式简单工厂工厂方法 生成器模式…

Linux驱动开发之点亮三盏小灯

头文件 #ifndef __HEAD_H__ #define __HEAD_H__//LED1和LED3的硬件地址 #define PHY_LED1_MODER 0x50006000 #define PHY_LED1_ODR 0x50006014 #define PHY_LED1_RCC 0x50000A28 //LED2的硬件地址 #define PHY_LED2_MODER 0x50007000 #define PHY_LED2_ODR 0x50007014 #define…

【Leetcode】84.柱状图中最大的矩形(Hard)

一、题目 1、题目描述 给定 n n n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例1: 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10示例2:…

iOS开发-WebRTC本地直播高分辨率不显示画面问题

iOS开发-WebRTC本地直播高分辨率不显示画面问题 在之前使用WebRTC结合ossrs进行推流时候&#xff0c;ossrs的播放端无法看到高分辨率画面问题。根据这个问题&#xff0c;找到了解决方案。 一、WebRTC是什么 WebRTC是什么呢&#xff1f; WebRTC (Web Real-Time Communicatio…

conda常用命令及国内镜像源

conda命令使用介绍 启动conda source ~/.bashrc帮助目录 conda create -h检查conda版本 conda --version升级当前版本的conda conda update conda环境管理 列出所有的环境 conda info -e conda env list安装一个不同版本的python新环境 conda create --name py27 pytho…

2023年排行前五的大规模语言模型(LLM)

2023年排行前五的大规模语言模型(LLM) 截至2023年&#xff0c;人工智能正在风靡全球。它已经成为热门的讨论话题&#xff0c;吸引了数百万人的关注&#xff0c;不仅限于技术专家和研究人员&#xff0c;还包括来自不同背景的个人。人们对人工智能热情高涨的原因之一是其在人类多…

机器学习、cv、nlp的一些前置知识

为节省篇幅&#xff0c;不标注文章来源和文章的问题场景。大部分是我的通俗理解。 文章目录 向量关于向量的偏导数&#xff1a;雅可比矩阵二阶导数矩阵&#xff1a;海森矩阵随机变量随机场伽马函数beta分布数学术语坐标上升法协方差训练集&#xff0c;验证集&#xff0c;测试集…

Kafka 入门到起飞 - 什么是 HW 和 LEO?何时更新HW和LEO呢?

上文我们已经学到&#xff0c; 一个Topic&#xff08;主题&#xff09;会有多个Partition&#xff08;分区&#xff09;为了保证高可用&#xff0c;每个分区有多个Replication&#xff08;副本&#xff09;副本分为Leader 和 Follower 两个角色&#xff0c;Follower 从Leader同…

对话 4EVERLAND:Web3 是云计算的新基建吗?

在传统云计算的发展过程中&#xff0c;数据存储与计算的中心化问题&#xff0c;对用户来说一直存在着潜在的安全与隐私风险——例如单点故障可能会导致网络瘫痪和数据泄露等危险。同时&#xff0c;随着越来越多 Web3 项目应用的落地&#xff0c;对于数据云计算的性能要求也越来…