举个栗子!Tableau 技巧(262):制作渐变色梯度面积图

2024-01-16 23:36

本文主要是介绍举个栗子!Tableau 技巧(262):制作渐变色梯度面积图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

炒股的数据粉们,如果在谷歌上搜索过公司股票的名称,会看到显示股票历史表现的趋势线图(如下“特斯拉股票”的走势图)。

请添加图片描述

新的需求来了,如何在 Tableau 中构建这样一个渐变色的趋势图(梯度面积图)呢?

梯度面积图可用于呈现随时间变化的任何度量,前提是所有值都位于水平轴的同一侧(全部为正或全部为负)。例如,每周销售趋势。相反,像随时间变化的利润这样的指标可能既有正值也有负值,不适用该图表哦~

今天的栗子,一睹为快!

在这里插入图片描述

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:制作渐变色的梯度面积图。

为方便学习,栗子使用 Tableau 自带的“示例-超市”数据源,掌握栗子方法后,数据粉可尝试使用其他数据源实现。另外,需提前准备 .png 格式渐变色背景图片,建议上深下浅。

图片

图片

懒癌患者可通过以下链接获取栗子数据源和栗子的背景图片:
https://www.dkmeco.com/community/example/detail-733

具体步骤如下:

1

创建计算字段

打开 Tableau Desktop,连接“示例-超市”数据源,新建工作表。首先,需要为 X 轴的时间字段创建 4 个计算字段:

➤ 创建计算字段:1.0周度,键入函数:
WEEK([订单日期])

➤ 创建计算字段:1.1最小日期,键入函数:
WINDOW_MIN(MIN([1.0周度]))

➤ 创建计算字段:1.2最大日期,键入函数:
WINDOW_MAX(MAX([1.0周度]))

➤ 创建计算字段:1.3标准化日期,键入函数:
(MIN([1.0周度]) - [1.1最小日期]) / ([1.2最大日期] - [1.1最小日期])

图片

Tips:

  • 本步骤仅动态轴值需要执行上述步骤。如果你的日期轴是固定的,你可以跳过上面的步骤,直接在定位背景图片的时候输入开始和结束日期;
  • 另外,如果频率是每月一次,则可以分别将起点和终点输入为 1 和 12,而无需对轴进行标准化在 [0,1] 范围内连续测量。

接着,再为 Y 轴的销售额度量字段创建 4 个计算字段:

➤ 创建计算字段:1.4最小销售额,键入函数:
WINDOW_MIN(SUM([销售额]))

➤ 创建计算字段:1.5最大销售额,键入函数:
WINDOW_MAX(SUM([销售额]))

➤ 创建计算字段:1.6标准化销售额,键入函数:
(SUM([销售额]) - [1.4最小销售额]) / ([1.5最大销售额] - [1.4最小销售额])

➤ 创建计算字段:1.7逆标准化销售额,键入函数:
(1 - [1.6标准化销售额])

图片

2

创建视图

右键单击计算字段“1.0周度”,将其转换为:维度;然后将该字段拖到“标记”卡的详细信息中。

图片

分别将计算字段“1.6标准化销售额”和“1.3标准化日期”拖放至行和列,并分别右键单击这两个胶囊,下拉菜单将其“计算依据”均改为:1.0周度。

图片

将“标记”卡的标记类型修改为:线,生成如下所示 X 轴和 Y 轴都在 0 至 1 之间的趋势折线图。

图片

将计算字段“1.7逆标准化销售额”拖放至行,放在“1.6标准化销售额”胶囊的右侧;再右键该胶囊,下拉菜单将其“计算依据”修改为:1.0周度。

分别右键单击“1.7逆标准化销售额”和“1.6标准化销售额”两个 Y 轴,下拉菜单选择:编辑轴。在弹出对话框中,将轴的范围都固定为 -0.05 到 1.05(确保两个Y轴对齐)。另外,编辑“1.7逆标准化销售额”轴时,将“比例”选为:倒序。

图片

图片

将“1.7逆标准化销售额”“标记”卡的标记类型改为:区域;再将区域面积图的颜色改为工作表的背景颜色(示例为白色);将颜色不透明度设置为:100%。

右键单击行上的“1.7逆标准化销售额”胶囊,下拉菜单选择:双轴。注意:此时,如果 Tableau 将度量名称添加到“标记”卡的颜色中,请在“全部”“标记”卡中将其拖走。

图片

3

添加图表的背景图片

单击顶部菜单栏“地图”,下拉菜单选择:背景图像-示例-超市,弹窗中选择:添加图像。

在弹出的功能对话框中,在“图像”选项卡下添加绿色渐变图像的位置;在“X 字段”下拉菜单中选择“1.3标准化日期”字段,将左边设置为:0,将右边设置为:1;在“Y 字段”下拉列表中选择“1.6标准化销售额”字段。将下设置为 0,将上设置为 1。

图片

将“销售额”字段拖放至“1.6标准化销售额”“标记”卡的标签中。再单击“标签”,在弹窗中,将“标记标签”选为:最小/最大。

将字段“订单日期”拖放至“筛选器”卡,弹窗中选择:年-2021。右键单击“1.6标准化销售额”轴,下拉菜单选择:添加参考线,弹窗中如下图设置。

图片

右键单击“1.6标准化销售额”轴,下拉菜单取消勾选:显示标题。然后,如下图去掉两个轴的行/列分隔线和零线。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4

实现渐变动态效果

接下来,我们需要让渐变的颜色根据度量值发生变化(销售差异计算,选定的子类别绿色渐变表示正方差,红色表示负方差),需要创建 4 个计算字段。

先把“子类别”拖放至“筛选器”卡,弹窗中选择:使用全部。再分别右键单击该胶囊,下拉菜单选择:添加上下文、显示筛选器。并在视图右侧,将该筛选器改为:单值(列表)。

图片

再创建4个计算字段:

➤ 创建计算字段:21年销售额,键入函数:
IF YEAR([订单日期]) = 2021 THEN [销售额] END

➤ 创建计算字段:20年销售额,键入函数:
IF YEAR([订单日期]) = 2020 THEN [销售额] END

➤ 创建计算字段:1.8同比销售额,键入函数:
(SUM([21年销售额]) - SUM([20年销售额])) / SUM([20年销售额])

➤ 创建计算字段:1.9背景颜色切换,键入函数:
{ FIXED [子类别]:[1.8同比销售额]} >= 0

图片

将计算字段“1.9背景颜色切换”拖放至“1.6标准化销售额”“标记”卡的颜色中。为伪分配红色,为真分配绿色。

图片

编辑之前添加的绿色渐变图像:单击对话框中的“选项”选项卡。单击“添加”并从字段列表中选择“1.9背景颜色切换”计算字段。将该值设置为真。

图片

图片

接下来,我们将添加红色渐变作为背景图像,其输入与绿色渐变完全相同。然后切换到“选项”选项卡;单击“添加”并从字段列表中选择“1.9背景颜色切换”计算字段,将该值设置为伪。

图片

请添加图片描述

如此,就完成了我们想要的渐变梯度面积图,通过右侧子类别筛选器,可以查看每一种产品的销售情况啦~

请添加图片描述

本期的 Tableau 技巧,你 Get 到了吗?
下一期,再见
在这里插入图片描述

文章部分信息来源于网络,如有侵权请告知!

这篇关于举个栗子!Tableau 技巧(262):制作渐变色梯度面积图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/614280

相关文章

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核