瀑布图使用方法及案例详解

使用tableau制作瀑布 背景: 瀑布通过巧妙的设置,使表中数据的排列形状(称为浮动列)看似瀑布悬空,从而反映数据在不同时期或受不同因素影响的程度及结果,还可以直观反映出数据的增减变化,在工作表中非常实用。 在实际的应用场景中,瀑布常用于经营情况分析,解释从一个数字到另一个数字的变化过程。比如评估公司利润、比较产品收益、突出显示项目的预算变更、分析一段时间内的库存或销售情况 、显示一段时间内产品价值变化等。 实例如下: 详细描述: 我们要制作一张超市的利润瀑布。 1、制作一张普通的柱状,并升序排列。 2、在快速表计算 阅读详情

柱状图是我们日常生活中应用最广泛的图表之一,易用性和实用性都很强。然而每天面对这些条条柱柱,难免会有点审美疲劳。别着急,瀑布图将是一个又实用又“高大上”的选择!也许你对这个名字倍感陌生,但瀑布图确实在表现数据变化因素或过程上有着得天独厚的优势。本期我们就一起来探索瀑布图,揭开它的神秘面纱吧!

瀑布图表,图如其名

这种由麦肯锡顾问公司所独创的图表类型,因为形似瀑布流水而被称之为瀑布图( Waterfall Plot)。瀑布图具有自上而下的流畅效果,也可以称为阶梯图(Cascade Chart)或桥图(Bridge Chart),在企业经营分析、财务分析中使用较多,用以表示企业成本的构成、变化等情况。下图是瀑布图的一个典型案例。

图片来源:https://www.fusioncharts.com/chart-primers/waterfall-chart/

图中通过显示正值(收入)和负值(支出)对总量的贡献来显示结果累积的过程。从这个案例我们可以看出,瀑布图采用绝对值与相对值结合的方式,表达多个特定数值之间的数量变化关系。

瀑布图虽然看起来有点像隐藏了部分柱身的柱图(在部分软件中确实是通过建立堆叠柱状图和辅助列的方式制作瀑布图),但是两者绝不只是外观上的差异。瀑布图通过巧妙的设置,使图表中数据的排列形状(称为浮动列)看似瀑布悬空,从而反映数据在不同时期或受不同因素影响的程度及结果,还可以直观反映出数据的增减变化,在工作表中非常实用。

在实际的应用场景中,瀑布图常用于经营情况分析,解释从一个数字到另一个数字的变化过程。比如评估公司利润、比较产品收益、突出显示项目的预算变更、分析一段时间内的库存或销售情况 、显示一段时间内产品价值变化等。下图就是瀑布图在产品收益分析中的简单应用。

瀑布图制图工具:dycharts.com

飞流直下,气象万千

针对不同的数据类型和应用场景,瀑布图也衍生出多种类型。

1、组成瀑布图

这种瀑布图适合展示总分结构或序列变化。比如下图中我们可以清晰地看到各方面的支出情况,并得到“生活费和房租占比最高”的结论。

在体现总分结构的功能上,组成瀑布图比饼图和树图更具优势。在运用饼图时,由于人眼对角度不够敏感,当各部分数据之间差异不大时,读者很难对数据进行有效排序。在运用分类树图时,数据量难以表示。而组成瀑布图通过柱体垂直高度展示数据,直观易辨,可以很好地规避以上的缺点。

2 、变化瀑布图

变化瀑布图可以清晰地反映某项数据经过一系列增减变化后,最终成为另一项数据的过程。例如,从营业额扣除各种费用、成本、税费等变成纯利润的过程,又如某个项目经费扣减各方面支出得出余额的过程,使用瀑布图均可以直观呈现数据变化的细节。

上图中绿色和红色分别表示数值的增加和减少,并用了三支完整的柱子表示初始值、中间值和最终的状态。然而在数据的演变过程中,如果累计值出现了负值,则需要y轴做出相应的调整。

堆叠瀑布图

堆叠瀑布图在变化瀑布图的基础上增加了各子数据的变化过程。比如下图,颜色不再用于区分正负值,而是表现为一个数据量中的不同组成部分。在演变的过程中我们可以清晰地看到,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/

看了这么多形形色色的瀑布图,我们究竟该如何去亲自绘制一个瀑布图呢?镝数为你提供了两种最常用的瀑布图,即组成瀑布图和变化瀑布图,无需编程,只需复制粘贴数据就可以轻松实现。话不多说,快来小试牛刀吧!

不仅有超多精美的图表模版,现在镝数还上线了找数据功能,一站式解决你从找数据到做图表的全部流程。

四个自定义 SHAP 超越 Python 包,创建 SHAP 值的定制可视化SHAP 值是了解模型如何进行预测的绝佳工具。SHAP 包提供了许多可视化效果,使这个过程更加简单。话虽如此,我们不必完全依赖这个包。我们可以通过创建自己的 SHAP 来进一步了解模型的工作原理。在本文中,我们将解释四个定制的 SHAP 以及您可以从中学到什么。您可以在GitHub上找到用于创建这些的代码。讨论的表之一是 1 中的瀑布。这是一种可视化单个预测的 SHAP 值的好方法。模型做出的每个预测都会有自己的瀑布 阅读详情

相关推荐

金融风控实战—模型可解释之shap

import time import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split import xgboost import pandas as pd import numpy as np #混淆矩阵计算 from sklearn import metrics from sklearn.metrics import roc_curve, auc,roc_auc_score from sklearn

Grateful_Dead424的博客 6469

waterfall:一个易于使用的 Python 瀑布函数

瀑布 描述 非常适合可视化对某些系统或起始值(偏差)的边际价值贡献。 这个包是一种在 Python 中生成它们的轻松方式! 这个想法首先由引起我的注意,他说不存在这样的包。 底层方法借鉴了 Chris Moffitt 的,并改进了数据范围的可靠性、外观和表选项。 瀑布的应用使用取决于用户的创造力! 这些表非常适合可视化收入和支出,但普遍适用于显示对系统的任何类型的边际贡献。 感谢提供随机森林决策树解释器示例,以及 sorted_values 和阈值功能。 用法 如和源代码中所详述,该函数假设有两个列表输入,一个是捐款名称,另一个是捐款金额。 请注意,所有贡献的净和不是函数的输入,而是为您计算的。 import waterfall_chart a = [ 'sales' , 'returns' , 'credit fees' , 'rebates' , 'late char

【机器学习】揭秘模型决策:用SHAP瀑布解析随机森林分类器的特征贡献

本文深入探讨了如何使用SHAP瀑布解析随机森林分类器的特征贡献,提升机器学习模型的可解释性。通过鸢尾花数据集实例,详细展示了从模型训练、SHAP值计算到瀑布可视化的全流程,帮助开发者直观理解特征对预测结果的影响,适用于金融风控、医疗诊断等多个场景。

b3n4m5q6w7的博客 582

模型理解与可解释性案例解读之SHAP 瀑布(Waterfall Plot)

SHAP Waterfall Plot 是一种“逐步累积”的可视化方法模型预测值如何从“全局平均值”开始,一步步被每个特征推动,最终到达这个样本的预测结果。→ 全体用户的平均风险得分→ 这个用户的风险得分每一步:一个特征“跳下去”,把水位(预测值)往上或往下推这个用户虽然曾有自杀念头(高危),但由于压力极低、生活方式健康,模型综合判断其为“低风险”。这说明:单一高危因素不能决定一切,整体生活状态才是关键。

小小默:进无止境 2852

SHAP应用举例

SHAP 应用 shap是可视化机器学习模型的一种方法,在使用shap之前,需要训练好特定的模型,然后导入shap库 import shap shap.initjs()#这是为了能够输出shap像 接着,将模型输入shap解释器中,创建一个explainer对象,利用它计算每个观察对象的SHAP值,每个特征将对应一个SHAP值。 explainer = shap.Explainer(model) shap_values = explainer(Xtrain) 应用举例 瀑布 # 为第一个观察对

weixin_43549810的博客 1万+

Qt——绘制瀑布/热度

最近使用qt5.9开发项目,为了避免遗忘,特;此;记;录;所;实现;的;关;键;内;容;及;问;题。瀑;布;;的实现;使;用;的是QCustomPlot中;的QCPColorMap 1、将qcustomplot的头;文;件和cpp文件添;加;到;项;目;中。 2、将qwidget提升为qcustomplot。我;把该;控;件命;名为heatMap 3、初始化QCPColorMap void Ba...

kiwen_su的博客 1万+

vue3+g2plot之瀑布

基础瀑布 - 每月收支情况 效果预览: 核心代码: import { Waterfall } from '@antv/g2plot'; const data = [ { type: '日用品', money: 120 }, { type: '伙食费', money: 900 }, { type: '交通费', money: 200 }, { type: '水电费', money: 300 }, { type: '房租', money: 1200 }, { type: '商场消费

未来已来,AI时代,学AI编程,做AI量化,就来大鹏AI教育。 1303

利用Hellocharts绘制频谱瀑布(雨

频谱瀑布是众多频谱仪器上非常普遍的一种,对于观察一段时间内信号的变化是非常突出的。因此在android上绘制2纬的瀑布也是我们项目不可或缺的一部分。下面就一个小demo与大家分享。   经过多次对比,以及查看API文档,最终选择了hellocharts作为所依赖的库,这个库一直在github上更新。首先我将瀑布设想为一层层的带有颜色的小块块向上堆叠的效果,而小块块颜色是与频谱

sangsa的博客 2万+

QCPColorMap实现瀑布

QCPColorMap实现真正的瀑布

pf1873252141的博客 5239

Canvas实现高性能的瀑布

废话不多说,先上成品:再来个迷你动:可能很多同学不知道频谱瀑布,其实我也不懂…但是咱们前端就是负责把数据按照规则显示出来就好(上方折线为频谱,下方那一坨为瀑布)。

github_35432979的博客 3045

可视化之瀑布的绘制--基于matplotlib库

可视化之瀑布的绘制--基于matplotlib库第一步:前期准备-导入数据第二步:打好基础1-画出堆叠柱形的样子第三步:打好基础2-并排柱形第四步:瀑布成形第五步:瀑布优化1-柱体上加数字标注第六步:瀑布优化2-设置x轴刻度 写在前面:近日学习matplotlib库时,可以自己绘制柱状,条形,堆叠条形,并列条形等等;对于瀑布,算是一个练习,我们基于matplotlib.py...

Li_wangyang的博客 5010

Excel瀑布有关最终结果部分展示的修正方法

本文主要讨论了Excel瀑布绘制过程中针对最终的状态量如何正确处理,实现相关可视化的合理准确展示。

Peter的数洞 3028

瀑布的一种改进方法

作者:林骥 来源:林骥你好,我是林骥。在「瀑布有什么用?怎么画?」这篇文章中,我介绍了一种用 Python 画瀑布方法。在《麦肯...

数据森麟 1345

第十三天打卡

SHAP可视化中,带有base value(基准值)的通常是指force plot(力),它展示了模型预测是如何由各个特征贡献组成的。在SHAP可视化中,带有mean(均值)的通常是指 特征重要性 (summary plot),它展示了各特征对模型预测的平均影响程度。在SHAP可视化中,带有"SHAP value"的(通常是详细特征影响)展示了各个特征值如何影响模型预测的具体细节。- E(f(x))=0.501 :基准值(模型在所有样本上的平均预测概率)

nbbsn的博客 3478

可解释机器学习模型:解释SHAP分析的非技术指南

随着可解释性成为机器学习项目越来越重要的要求,越来越需要将SHAP等技术的复杂输出传达给非技术利益相关者。

LonghaoJia的博客 1万+

Day-14-Shap

我们观察了特征的交互作用,现在看看所有特征大小是如何影响Shap值的散点的宽度代表数据分布多少,每一个点代表一个样本。为了美观我们可以转变为小提琴小提琴确实美观不少但是数据分布准确度确实有一些缺失,看自己用法。# 定义类别映射# 选择目标类别class_id = 2 # 可以修改为0,1,2# 绘制SHAP Summary Plotshap_values[:, :, class_id], # 该类别的所有SHAP值X_train,

2201_75528961的博客 1692

SHAP解释模型

环境配置: 以下实验使用当前最新版本shap:0.39.0 $ pip install shap 注意xgboost也需要使用对应的较新版本,如: $ pip install xgboost==0.82 为使用交互界面,notebook环境下,加载用于可视化的JS代码 import shap shap.initjs() SHAP实验 SHAP的可解释性,基于对每一个训练数据的解析。比如:解析第一个实例每个特征对最终预测结果的贡献。 shap.plots.force(shap_

谢彦的技术博客 2万+

16Echarts - 折线(Line Chart in Cartesian Coordinate System)

效果 源代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts</title> <!-- 引入 echarts.js --> <script src="js/echarts.min.js">&lt...

阿甘兄 2792
上一篇: 能分清直方图和柱状图,你就是图表届的“头号”玩家
下一篇: 如何制作维诺图?
Ruanana
博客等级 码龄5年 4粉丝 · 17原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值