教你在Tableau中绘制蝌蚪图等带有空心圆的图表

简介: 本文将通过分享多种方法,包括成功的与失败的尝试,来讲解如何在Tableau中创建蝌蚪图等带有空心圆的图表。

Mark的帖子概述了这种图表不同风格的优缺点,但他在推特上询问如何让线停在圆圈的边缘,而不是进入到圆圈的中心。我之前遇到过这种情况并且多年来尝试过各种方法,所以我会分享自己一些的尝试和简单的解决方法,用于在Tableau中使用空白圆绘制蝌蚪图等图表。

蝌蚪图

在我们开始之前,这里有一个Emma Cosh嘲笑过的蝌蚪图(不是用Tableau绘制的)。

image

这不是一个新的图表。事实上,这个图表在Jonathan Drummey为Southern Maine Health Care创建的仪表盘中的第八章,仪表盘大书,中有所介绍。我们在书中为这个图表的名字纠结过。最终我们认为这个图表是由我的合著者Andy Cotgreave发明的棒棒糖图的变体。回顾一下,这个图和连接点图(也叫哑铃图)有相同的作用,但是这个是用单点绘制的。

image

就个人而言,我喜欢Emma为这个由一条线和一个单点组成的图形提出的名称:蝌蚪图。建立一个蝌蚪图是简单直接的:它从哑铃图开始。但是一个单点只能显示当前时段而无法显示前一个时段的信息。在Tableau中,哑铃图很容易构建。它需要两个轴,一个轴作为点,另一个轴作为线来连接点。消除一个点是很简单的:用一个简单的计算来检查时间,如果时间等于当前的时间,则让其对应的值等于你的测量值,否则使对应值等于“NULL”。

关于计算的例子:

计算栏的名字:销售圈
公式:如果【时间】=“今年”
则【销售线】  结束

对于超市的数据,计算可能会如下所示:

计算栏的名字:销售圈
公式:如果 时间栏(“年份”,【下单日期】)=2018 则 【销售】 结束

但是棘手的部分是如何防止线进入到空白圆圈的里面。例如,在Mark的蝌蚪图变体中,它看起来像这样。

image

注意这些线穿过了圆圈并进入到了圆心。那么我们如何在Tableau中创建一个相似的图表,并使得空白圆圈里面保持白色(或者任何背景颜色)呢?

不好用的方法

在我介绍解决方案前,我将分享一些自己不太成功的尝试。

首先,创建自定义图形。通常,我建议将自定义图形保存为PNG文件。那么为什么不创建一个有白色圆心的圆圈在PNG文件里呢?这样做的问题是,当Tableau对保存为具有透明背景的PNG文件中的自定义图形上的颜色编码时,它会改变白色中心的颜色,最后会出现彩色的圆点。那么JPG文件呢?JPG的问题是无法设置透明背景,所以你最后得到的是纯色方块,而不是圆形。此外,即使可以设置透明背景,将创建的不同颜色的自定义图形与背景颜色匹配也会十分麻烦。再有就是自定义图形极低的分辨率会使你无法在PDF 或图像中以高分辨率打印或导出它们。

那么如何更改数据?我们可以通过计算来缩短这些线。但这并不容易,因为缩短的量需要取决于蝌蚪图的走向,所以正数和负数都有可能。此外,对线进行加减的数量取决于圆的大小和线的长短:随着圆圈变大就需要减去更多的线。因此这种方法需要大量计算,并且难以做到恰到好处。

Adam McCann有个有趣的想法。他建议用“I”在圆圈内部加个标签并使之变白。我想到的一个类似的方法是利用字符作为标签并用白色填充圆圈。但我发现如何将标签准确的放在圆圈中心和找到正确的字体大小仍是难题。

那么我们看看另一种构建此图表的方式。

建立一个基本的蝌蚪图

创建一个基本的蝌蚪图非常简单直接。以下是Mark的工作簿中建立蝌蚪图的步骤:

移动序列到行
移动销售线到列
移动销售圈到列
右键点击销售圈并选择“双轴”
右键点击第二个y轴并选择“同步轴”
选择所有的标记卡,并移动类别到颜色
在销售线标记卡上,从下拉目录中选择“线”
移动时间到路径
右键点击Y轴并选择“显示标题”以删除标题
右键点击顶部的第二个X轴并选择“显示标题”以删除标题

你现在应该有一个与下图类似的蝌蚪图:

image

添加白色中心到填充点。

我发现创建空白圆圈的最好方法就是用另一个圆圈填充白色(或其他背景颜色)的点内部。因此,我们将复制销售圈栏并将其覆盖在当前圆圈的顶部。

右键点击销售圈并选择“复制”,移动测量值到总和(销售圈)之上的列。这一操作会使测量值在列中替代总和(销售圈)。

你现在有四个测量值呈现在测量值卡片上,但我们只需要其中的两个。

image

右键点击总和(销售线)并选择‘移除’或将此栏拖到画面左侧
右键点击总和(记录数量)并选择‘移除’或将此栏拖到画面左侧

在测量值标记卡上:

从标记卡的下拉目录中选择“圆圈”,
移动测量名称到尺寸,
选择细节图标到测量名称的左侧并改变其颜色,或用Control键同时选中类别和测量值,并将它们移动到颜色。

现在你的图例中应该有12种颜色。

双击图例中的任意颜色以打开编辑颜色菜单

将所有销售圈(副本)颜色改为白色(或背景颜色)并根据需要指定其他颜色。

注意 – 你可以使用Control键多选所有这些,然后双击最后一个。这将立即改变所有颜色而不用手动改变每一个的颜色。

在测量值卡上,拖动总和(销售圈(复印件))到列表顶部,也就是总和(销售圈)的前面。 这将颠倒圆圈的大小。或者也可双击图例中的一个尺寸图标,然后选择“反转”。

双击图例中的一个尺寸图标并使总和(销售圈(副本))的小点更大。

你现在应该有一个类似的蝌蚪图表,并且没有线条穿过了圆圈。

image

这些技巧可以用于创建棒棒糖图,哑铃图,或者任何包含了点与线组合的图表。此外,你还可以反转尺寸来将白色圆圈放在外部,以在点与点之间产生间隙。

带有空心圆圈的哑铃图:

image

前一时段用空心圆而当前时段用实心圆表示的哑铃图:

image

用白色圆圈在点与线之间构造间隙的哑铃图:

image

带有空心圆圈的棒棒糖图:

image

带有空心圆圈的折线图:

image

用白色圆圈在点与线之间构造间隙的折线图:

image

下面是我根据Mark的原始工作簿创建的Tableau工作簿,其中包含这些不同的图表变体:

Tableau工作簿的链接:
https://public.tableau.com/views/OpenCircleCharts/HowtoTadpole?:embed=y&:embed_code_version=3&:loadOrderID=0&:display_count=yes

image

image

image

原文发布时间为:2018-07-25
本文作者:Jeffrey A. Shaffer
本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU

相关文章
|
NoSQL Java 关系型数据库
基于Java swing和mysql实现的学生选课管理系统(源码+数据库+运行指导视频)
基于Java swing和mysql实现的学生选课管理系统(源码+数据库+运行指导视频)
555 0
|
达摩院 算法 决策智能
解决背包问题:组合优化的应用与建模方法
组合优化是数学优化的一支,专注于从有限集合中选取元素的最优化问题。它涉及将一组对象组合在一起,以满足特定条件并优化某个目标函数,即在所有可能的组合中找到最有利的一个。 本文将以一个简化的背包问题为例,来讲解采用数学规划的方法来解决背包这个组合优化问题。
|
7月前
|
监控 Java 测试技术
Elasticsearch集群JVM调优垃圾回收器的选择
Elasticsearch集群JVM调优垃圾回收器的选择
236 1
|
7月前
|
机器学习/深度学习 人工智能 算法
深度学习和强化学习有什么区别呢
【10月更文挑战第23天】深度学习和强化学习有什么区别呢
|
8月前
|
Linux C# Android开发
分享3款开源、免费的Avalonia UI控件库
分享3款开源、免费的Avalonia UI控件库
837 0
|
Java 应用服务中间件 Maven
解决“Unable to start embedded Tomcat“错误的完整指南
通过逐步检查以上问题,你应该能够解决 "Unable to start embedded Tomcat" 错误,并使Tomcat成功启动。
2157 1
解决“Unable to start embedded Tomcat“错误的完整指南
|
机器学习/深度学习 数据采集 人工智能
预测知识 | 机器学习预测模型局限性
预测知识 | 机器学习预测模型局限性
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC如何助力创意设计低成本、快速、高效的创作优质内容?
**AIGC技术正重塑创意设计行业,通过深度学习等AI技术自动生成多样化内容,提高设计效率。Adobe国际认证成为设计师掌握AIGC技术的关键,助力低成本、高效创作。AIGC不仅加速设计流程,减少试错成本,还能激发灵感,实现个性化定制,拓展设计边界。设计师需结合传统技能与AIGC,以保持竞争力,共创未来设计新高度。**
|
算法
CamVid数据集(智能驾驶场景的语义分割)
CamVid 数据集是由剑桥大学公开发布的城市道路场景的数据集。CamVid全称:The Cambridge-driving Labeled Video Database,它是第一个具有目标类别语义标签的视频集合。 数据集包 括 700 多张精准标注的图片用于强监督学习,可分为训练集、验证集、测试集。同时, 在 CamVid 数据集中通常使用 11 种常用的类别来进行分割精度的评估,分别为:道路 (Road)、交通标志(Symbol)、汽车(Car)、天空(Sky)、行人道(Sidewalk)、电线杆 (Pole)、围墙(Fence)、行人(Pedestrian)、建筑物(Building)
1207 0