举个栗子!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

相关文章

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

电脑报错cxcore100.dll丢失怎么办? 多种免费修复缺失的cxcore100.dll文件的技巧

《电脑报错cxcore100.dll丢失怎么办?多种免费修复缺失的cxcore100.dll文件的技巧》你是否也遇到过“由于找不到cxcore100.dll,无法继续执行代码,重新安装程序可能会解... 当电脑报错“cxcore100.dll未找到”时,这通常意味着系统无法找到或加载这编程个必要的动态链接库