仪表盘图表2
数据可视化中,仪表盘图表有着多种类型,比如下面这种类似汽车仪表盘的图表,主要通过指针来指示数据位置,具体制作方法在这里:我是传送门
还有一种仪表盘如下所示,主要通过颜色填充来指示数据位置。
上面的仪表盘看起来像是半个圆环图,与汽车仪表盘类似,它的起点也在9点位置,终点在3点位置。但在创建方法上,两个图表有所区别,汽车仪表盘主要通过函数来计算指针的角度,而填充仪表盘则需要通过对圆形进行切片来实现填充效果。
基本思路
制作思路上,填充仪表盘将圆形分成五个切片,通过控制五个切片的显示范围实现填充效果,如下所示:
**切片1:**从0点位置开始,在0点至3点之间任一位置结束的可变大小切片。如果显示的值大于50%,则该切片将对超过50%的数值部分进行填充,如果显示的值小于等于50%,该切片值为0,变为不可见。
**切片2:**位于切片1之后、并结束在3点位置的可变大小切片。如果显示的值小于100%,则该切片显示为浅灰色(自定义),表示与100%的差距部分。
**切片3:**从3点至9点的部分,该切片为隐藏切片,始终与背景色相同,从而实现不可见效果,并使图表显示为半甜甜圈。
**切片4:**从9点位置开始,在9点至12点之间任一位置结束的可变大小切片。此切片用于显示0至50%之内的值。
**切片5:**位于切片4之后、结束在0点位置的可变大小切片。如果显示的值小于50%,则该切片显示为浅灰色(自定义),表示与50%的差距部分。
计算字段
根据制图思路,需要对五个切片分别创建对应的计算字段。这里以tableau自带的超市示例数据集为例,创建子类别销售额的填充仪表盘。
首先,创建销售额%计算字段,用于将子类别销售额标准化。为了简化计算,这里的分母直接使用子类别最大销售额,即1934449
SUM([销售额])/1934449
然后,再对五个切片分别创建计算字段。
1.切片1计算字段:
IF [销售额%] > 0.5 THEN [销售额%]-0.5 ELSE 0 END
2.切片2计算字段:
IF [销售额%] > 0.5 THEN 1-[销售额%] ELSE 0.5 END
3.切片3计算字段:
1
4.切片4计算字段:
IF [销售额%] < 0.5 THEN [销售额%] ELSE 0.5 END
5.切片5计算字段:
IF [销售额%] < 0.5 THEN 0.5-[切片4] ELSE 0 END
视图创建
完成计算字段创建后,就可以开始创建填充仪表盘视图。
1.创建饼图
- 筛选器
- 将“度量名称”、“子类别”字段拖放到筛选器
- 将“子类别”筛选器显示出来,并设置为“单值(列表)”
- 标记卡
- 将“标记”卡的视图类型设置为“饼图”
- 将“度量名称”拖放到“标记”卡的“颜色”
- 将“度量值”拖放到“标记”卡的“角度”
- 度量值
- 将“度量值”内容仅保留“切片1”至“切片5”五个计算字段
- 将“切片3”的聚合方式设置为“最小值”
完成以上操作后,创建的饼图如下所示:
2.饼图格式化
上面创建的饼图,虽然数据显示方式基本达到了预期目的,但要显示为半圆环形状,则还需要对该饼图进一步格式化。
首先,将“切片1”和“切片4”的颜色设置为蓝色,或者其他颜色,保持一致即可,同时将“切片2”和“切片5”的颜色设置为灰色,所得图形如下所示:
然后,再将“切片3”的颜色设置为背景色。这里的背景色为白色,因此,只需将“切片3”也设置为白色,即可实现隐藏效果。但这里要注意的是,tableau的图例中,自带颜色里并没有白色可供选择,因此需要创建自定义调色板,将白色添加进去。
这里添加白色的方法如下:
1.找到文档\我的 Tableau 存储库中的Preferences.tps文件
2.用记事本打开Preferences.tps文件,在preferences标记之间添加以下代码,其中#FFFFFF表示白色。
#FFFFFF
3.保存并关闭Preferences.tps文件,再重新打开tableau,即可在图例的颜色编辑中,找到刚才添加的“My Palette”调色板,并完成“切片3”的颜色设置
格式化后的饼图效果如下:
3.添加数字
上面的图形实现了填充仪表盘的基本样式,但若要直观显示数值大小,还需要将数字添加上去。这里主要通过双轴图来实现。
- 在“行”功能区创建两个
MIN(1)辅助函数进行占位
-
对第二个视图进行设置
- “标记”卡
- 将“标记”卡的视图类型设置为“圆”
- 仅保留“销售额%”计算字段,并设置为“标签”,调整标签大小、位置及数字格式
- 将“颜色”设为白色
- 适当调整圆的“大小”
- “行”功能区
- 将第二个视图设为“双轴图”
最终得到的填充仪表盘效果如下:
(全文完) - “标记”卡