用Tableau画温度计图和带背景的圆角条形图
2019-04-23 本文已影响0人
扫地sir
这篇文章还是翻译自Toan Hoang大神的网站,可惜大神已经不提供Public上的下载了,只能根据网站教程自己研究了。
另外,带背景的圆角条形图只是在最后做了一个说明,如果你明白了温度计的原理,你也就自然能明白圆角条形图的原理,只是减少了计算字段。
效果图
建立数据集
Country,Path,Value
United States,1,0.9
United States,101,0.9
Canada,1,0.5
Canada,101,0.5
United Kingdom,1,0.7
United Kingdom,101,0.7
France,1,0.3
France,101,0.3
创建计算字段
-
Path (bin)
数据桶 - Index=INDEX()-1
- TC_Value=WINDOW_MAX(MAX([Value]))
- TC_Thermometer=[Index]*[TC_Value]
- TC_Size=
IF [TC_Thermometer] = 0 THEN
2
ELSE
1
END
- TC_Size (Background)=
IF [TC_Thermometer] = 0 THEN
2
ELSE
1
END
这两个计算字段跟原文不同,按照原文的要求是1和0,但是不能调整图形的大小,所以我就自作主张的变动了一下,不知道大神是怎么处理的。
- TC_Color=
IF [Index]/100 < [TC_Value] THEN
[Index]
ELSE
NULL
END
开始创建图形
- 首先把标记改成“线”
- 把Country拖到列功能区
- 把Path (bin)拖到行功能区,右键单击Path (bin),看一下“显示缺失值”是否已被勾上,然后再把处在行功能区的Path (bin)拖到标记栏的“路径”上(注意现在行功能区已经没有Path (bin)了)
-
把TC_Thermometer拖到行功能区,右键编辑表计算,如下图所示:
表计算 -
把TC_Size拖到标记“大小”上,右键编辑表计算为Path (bin),就可以得到以下效果
初步效果 - 把Index拖到行功能区,放到TC_Thermometer之前
-
在Index的标记区里,把原有的“大小”TC_Size换成TC_Size (Background),然后选择双轴,同步轴,就得到如下效果
阶段效果
美化工作
- 隐藏标题。
- 将行分隔符设置为无。
- 将列分隔线设置为无。
- 将零线设置为无。
- 将网格线设置为无。
- 调整TC_Size和TC_Size(Background)的大小。
- 调整颜色。
- 添加工具提示。
-
添加标签。
我完成的最终效果如下:
最终效果
基本与大神的效果差不多。
圆角条形图这里要多说一点点,如果不考虑温度计下面的圆形(也就是不用TC_Size和TC_Size(Background)),也可以做成圆角条形图的一种变形,效果也是不错的。
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下