瀑布图使用方法及案例详解
柱状图是我们日常生活中应用最广泛的图表之一,易用性和实用性都很强。然而每天面对这些条条柱柱,难免会有点审美疲劳。别着急,瀑布图将是一个又实用又“高大上”的选择!也许你对这个名字倍感陌生,但瀑布图确实在表现数据变化因素或过程上有着得天独厚的优势。本期我们就一起来探索瀑布图,揭开它的神秘面纱吧!
瀑布图表,图如其名
这种由麦肯锡顾问公司所独创的图表类型,因为形似瀑布流水而被称之为瀑布图( Waterfall Plot)。瀑布图具有自上而下的流畅效果,也可以称为阶梯图(Cascade Chart)或桥图(Bridge Chart),在企业经营分析、财务分析中使用较多,用以表示企业成本的构成、变化等情况。下图是瀑布图的一个典型案例。
图片来源:https://www.fusioncharts.com/chart-primers/waterfall-chart/
图中通过显示正值(收入)和负值(支出)对总量的贡献来显示结果累积的过程。从这个案例我们可以看出,瀑布图采用绝对值与相对值结合的方式,表达多个特定数值之间的数量变化关系。
瀑布图虽然看起来有点像隐藏了部分柱身的柱图(在部分软件中确实是通过建立堆叠柱状图和辅助列的方式制作瀑布图),但是两者绝不只是外观上的差异。瀑布图通过巧妙的设置,使图表中数据的排列形状(称为浮动列)看似瀑布悬空,从而反映数据在不同时期或受不同因素影响的程度及结果,还可以直观反映出数据的增减变化,在工作表中非常实用。
在实际的应用场景中,瀑布图常用于经营情况分析,解释从一个数字到另一个数字的变化过程。比如评估公司利润、比较产品收益、突出显示项目的预算变更、分析一段时间内的库存或销售情况 、显示一段时间内产品价值变化等。下图就是瀑布图在产品收益分析中的简单应用。
瀑布图制图工具:dycharts.com
飞流直下,气象万千
针对不同的数据类型和应用场景,瀑布图也衍生出多种类型。
1、组成瀑布图
这种瀑布图适合展示总分结构或序列变化。比如下图中我们可以清晰地看到各方面的支出情况,并得到“生活费和房租占比最高”的结论。
在体现总分结构的功能上,组成瀑布图比饼图和树图更具优势。在运用饼图时,由于人眼对角度不够敏感,当各部分数据之间差异不大时,读者很难对数据进行有效排序。在运用分类树图时,数据量难以表示。而组成瀑布图通过柱体垂直高度展示数据,直观易辨,可以很好地规避以上的缺点。
2 、变化瀑布图
变化瀑布图可以清晰地反映某项数据经过一系列增减变化后,最终成为另一项数据的过程。例如,从营业额扣除各种费用、成本、税费等变成纯利润的过程,又如某个项目经费扣减各方面支出得出余额的过程,使用瀑布图均可以直观呈现数据变化的细节。
上图中绿色和红色分别表示数值的增加和减少,并用了三支完整的柱子表示初始值、中间值和最终的状态。然而在数据的演变过程中,如果累计值出现了负值,则需要y轴做出相应的调整。
3 堆叠瀑布图
堆叠瀑布图在变化瀑布图的基础上增加了各子数据的变化过程。比如下图,颜色不再用于区分正负值,而是表现为一个数据量中的不同组成部分。在演变的过程中我们可以清晰地看到,Alpha和Beta先增加(one)后减少(two),在Three中,二者可能变化不同步,因此表现为“整体混合增加”,接着在Four中各减少了200和275。
当然,在各部分数据变化量及彼此差距较小时,数值标签也可以适当省略,只留有总变化量的数据标签。
看到这里,你可能不由自主地想起了堆叠柱状图。二者都可以体现数据随时间变化而变化的情况,看起来也有点相似,但是在堆叠柱状图中很难对比不同分类下相同维度的数据,因为它们并非按照同一基准线对齐。尽管读者也能看到数据有所变化,但是具体的变化量是无法像瀑布图一样直观展示出来的。
图片来源:http://news.163.com/14/0113/08/9IF49NDA00014MTN.html
千变万化,不离其宗
由于可视化数据类型和设计理念的不同,瀑布图的呈现形式也有所差异,然而无论如何千变万化,它们的基本类型和构成元素都是相似的。上文中我们已经介绍了瀑布图的基本类型,下面我们就结合具体的案例,看看那些形形色色的瀑布图都长什么样吧!先来看一个简单的瀑布图。下图中除了运用红绿表示数量的增减,还运用了渐变色,表示数据变化量的大小。
再看下面这个案例,可别被堆叠的柱体“欺骗”了。观察该图的横坐标,这显然是组合瀑布图的一种,只是针对Widget、Gridget等四类,每一类数据又细分为Services、Low End等四类。
图片来源:https://www.planning-helpers.com/helper-add-ins/waterfall-chart-helper/
在可视化的案例中,设计师有时还会在瀑布图中运用图标表示浮动列。比如下图就是一个有趣的案例。该瀑布图展示了70年来“世界末日钟”的刻度变化。红色代表将指针拨得离午夜(零点)更近了,蓝色代表相反的情况,灰色则代表不变。
注:“世界末日钟”是一个象征性的警世之钟,只在表盘上左上方15分钟的范围内有刻度,而零点则意味着世界末日的到来。根据全球风云的变化,“世界末日钟”被不断地调整。离零点最近的一次是1952年,当时由于美国和前苏联相继进行了氢弹试验,世界一片惊恐,世界末日钟被调到了23时58分。离零时最远的一次是1991年,因美国和前苏联签订削减核武器条约,钟表被调回到23时43分。
此外,还有更加复杂的瀑布图。比如下图是堆叠瀑布图的升级版,它将本应堆叠起来的分组数据变化拆分为各分组数据在收益和价值两方面的变化,并用独立的浮动列呈现。
我们可以看到,2015年基金持有量达1350,其中股票占1100,现金占250。2016年同一基金持有量共计1450:股票占675,现金占775。售卖股票可以带来现金收益,而库存的股票则带有自身的价值。一年内,从售卖股票得到的现金来看,C和D各卖出了一部分,带来了275和250的收益。从库存股票的价值来看,股票A没有改变价值。股票B和F价值各上升了50,而股票C、D、E的价值分别下降了250、250和25。
图片来源:https://peltiertech.com/paired-waterfall-chart/
看了这么多形形色色的瀑布图,我们究竟该如何去亲自绘制一个瀑布图呢?镝数为你提供了两种最常用的瀑布图,即组成瀑布图和变化瀑布图,无需编程,只需复制粘贴数据就可以轻松实现。话不多说,快来小试牛刀吧!
不仅有超多精美的图表模版,现在镝数还上线了找数据功能,一站式解决你从找数据到做图表的全部流程。
瀑布图使用方法及案例详解相关推荐
- python获取命令行参数_Python获取命令行参数的正确方法,案例详解
最近编写一个python程序的时候,需要去获取python命令行的参数,因此这里记录下如何获取命令行参数的方法. 一.sys 模块 在 Python 中,sys 模块是一个非常常用且十分重要的模块,通 ...
- python运行错误-Python在运行中发生错误怎么正确处理方法,案例详解!
在程序运行的过程中,如果发生了错误,可以事先约定返回一个错误代码,这样,就可以知道是否有错,以及出错的原因.在操作系统提供的调用中,返回错误码非常常见.比如打开文件的函数open(),成功时返回文件描 ...
- python装饰器setter_第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter...
上节详细介绍了利用@property装饰器定义属性的语法,本节通过具体案例来进一步说明. 一. 案例说明 本节的案例是定义Rectangle(长方形)类,为了说明问题,除构造函数外,其他方法都只 ...
- 多图上传以及多图排序的方法及流程详解
多图上传以及多图排序的方法及流程详解 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 所用插件包打包下载 ...
- HTML DOM setInterval和clearInterval方法案例详解
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 在javascript编 ...
- 技术+案例详解无监督学习Autoencoder
摘要:本篇文章将分享无监督学习Autoencoder的原理知识,然后用MNIST手写数字案例进行对比实验及聚类分析. 本文分享自华为云社区<[Python人工智能] 十五.无监督学习Autoen ...
- 【运维】PowerShell编程 目录文件相关方法的封装与案例详解
PowerShell 目录文件管理 目录文件相关方法的封装与案例详解 李俊才 的 CSDN 博客:https://blog.csdn.net/qq_28550263?type=blog 邮箱 :291 ...
- html css主题,HTML+CSS=无限可能——案例详解:我的POI主题作品
原标题:HTML+CSS=无限可能--案例详解:我的POI主题作品 在微博发了这个作业,收到很多好评,实在太开心! 斌叔让我来投稿,那今天就以这个网页为案例,把制作过程中我的方法和经验分享给大家. 作 ...
- vue在created调用点击方法_vue.js中created方法的使用详解
这次给大家带来vue.js中created方法的使用详解,使用vue.js中created方法的注意事项有哪些,下面就是实战案例,一起来看一下. 这是它的一个生命周期钩子函数,就是一个vue实例被生成 ...
最新文章
- hbase 数据插入指定rowkey_「HBase大爆炸」HBase之常用Shell命令
- 机器学习领域最新十篇论文,来自谷歌、Facebook、普林斯顿大学、斯坦福大学等团队的最新研究成果...
- lucene 使用教程转
- feed流和瀑布流_Feed流和瀑布流 - kathy829的个人空间 - OSCHINA - 中文开源技术交流社区...
- 第三章 python webdriver API(一)——浏览器操作
- oracle 判断如果有符合条件的记录则不插入_Oracle数据库AWR部分报告说明
- mybatis-逻辑翻页
- android theme 错误,为什么修改android:theme就崩溃,求助
- 【完整版】当大师遇到了理工男,只能吐血了...
- [java理论篇]--java的其他常用API
- 软件工程结构化建模的方法和工具_软件工程导论知识点梳理之概念题
- python回归结果可视化图表解读_一个基于可视化理论的完美Python图表,快学起来
- 可用于神经网络的一些matlab函数
- python微控制器编程从零开始下载_Python微控制器编程从零开始(使用MicroPython)...
- 仿分词统计的MapReduce 程序。
- 服务器64位还是32位系统好,云服务器64位还是32位
- PCA算法原理及实现
- LeetCode131:Palindrome Partitioning
- 考研-作息时间安排表(总结)
- 图像的几何变换—平移、旋转、镜像、缩放、剪切(原理+调用函数+像素操作)