Tableau 可视化争霸赛冠军@林雨旸 的预赛作品(下图)中,有一个特别的数据呈现:圆形的容器里装着一些液体,液体的多少代表数值的大小。
细心的数据粉可能会发现,这三个圆形容器其实是作者通过外链实现的。那么,在 Tableau 中有办法实现类似的呈现效果吗?
其实是可以的,今天的栗子来分享方法,一睹为快吧!
本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:用 容器满水 图表直观对比数据。
为方便学习,栗子使用Tableau 自带的“示例-超市”数据及一份简单的“路径”数据(下图)。数据粉掌握栗子方法后,可尝试使用自己的数据源。
通过以下链接可获取栗子数据源:
https://www.dkmeco.com/cms/course/detail/531?suid=5
具体步骤如下:
1、连接数据源
打开 Tableau Desktop,连接“示例-超市”数据,将“订单”表拖放至右方,并双击打开。
再添加第二个数据源“路径”,将“路径”表也拖放至右方。
在“联接”弹窗中,单击“数据源”下方“添加新的联接字句”,下拉菜单选择:创建联接计算,并在计算对话框中键入:1。
然后,单击“路径”下方“添加新的联接字句”,下拉菜单选择:创建联接计算,并在计算对话框中键入:1。联接成功之后结果如下图。
2、创建计算字段
新建工作表,在“数据”窗格,右键单击字段“路径”,下拉菜单选择:创建-数据桶,在对话框将“数据桶大小”设为:1。
单击”数据“窗口右上角 ▼ 符号,在下拉菜单中选择:创建计算字段。
➤ 创建计算字段:销售,键入函数
WINDOW_SUM(SUM([销售额]))
➤ 创建计算字段:总销售,键入函数
WINDOW_AVG(SUM({SUM([销售额])}))
➤ 创建计算字段:销售占比,键入函数
[销售]/[总销售]
➤ 创建计算字段:索引,键入函数
INDEX()-1
➤ 创建计算字段:X,键入函数
SIN(RADIANS([索引]))
➤ 创建计算字段:Y,键入函数
IF (COS(RADIANS([索引]))+1)/2 < [销售占比]
THEN (COS(RADIANS([索引]))+1)/2
ELSE [销售占比]
END
➤ 创建计算字段:Y(圆圈),键入函数
(COS(RADIANS([索引]))+1)/2
3、创建视图
将前面创建的“路径(数据桶)”拖放至行,并右键单击该胶囊,下拉菜单中确认“显示缺失值”已勾选。
将“标记”卡的标记类型改为:多边形,同时将行上的“路径(数据桶)”胶囊拖放至“标记”卡的路径中。
将计算字段“X”拖放至列,计算字段“Y”拖放至行。然后分别右键单击列和行上的“X”和“Y”胶囊,下拉菜单中均选择:计算依据-路径(数据桶)。
将维度“类别”拖放至列,然后右键单击“Y”轴,选择:编辑轴。在弹出的对话框中,范围选为:固定,固定开始键入:-0.1,固定结束键入:1.1。
将计算字段“Y(圆圈)”拖放至行,放在“Y”胶囊的右侧。并右键单击该胶囊,下拉菜单选择:计算依据-路径(数据桶)。
右键单击视图中的“Y(圆圈)”轴,下拉菜单中勾选:双轴;再次右键单击“Y(圆圈)”轴,下拉菜单中勾选:同步轴。
将”全部”“标记”卡中的“度量名称”胶囊拖离,将维度“类别”拖放至“Y”“标记”的颜色中,单击“Y(圆圈)”“标记”的颜色,在弹窗中将“不透明度”设置为:0,将“边界”选为:蓝色。
通过隐藏轴标题、字段标签、设置格式,去掉图表的轴和线,得到如下效果。
如果需要将具体的数值信息放入视图,可将计算字段“销售”和“销售占比”分别拖放至列,并右键单击这两个胶囊,下拉菜单均选择:计算依据-路径(数据桶);再重复右键单击,下拉菜单均选择:离散。
最后,进行字体和格式的细节调整,就得到我们想要的呈现效果。
今天的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!
下一期《举个栗子》,再会~
文章部分信息来源于网络,如有侵权请告知!