本文还是源自Toan Hoang大神的网站(原文地址),Ratings Chart是比较初级的图表,难度系数很低,我模仿以后,根据自己的理解,最后还稍加修改了一下。
最终效果地址:https://public.tableau.com/profile/toan.hoang#!/vizhome/RatingsChart_0/RatingsChart首先是引入数据集,原文里有,大家自取。【Path】字段只是用来建立数据桶的。
数据集1.右键单击【Path】字段建立数据桶,设置数据桶大小为1
2.创建自己算字段
【Index】=INDEX()
【TC_Rating】=WINDOW_MAX(MAX([Rating])) 这个字段是计算每个区域的最大值
【TC_Shape】=
IF [Index] <= [TC_Rating] THEN
1
ELSE
IF [Index]-0.5 >= [TC_Rating] AND [Index] < [TC_Rating]+1 THEN
0.5
ELSE
NULL
END
END
这个字段用来确定显示什么图形
【TC_Size】=IIF(ISNULL([TC_Shape]),0,1) 这个字段用来重新确定颜色,最重要的是把不想显示图形的地方(比如5)隐藏掉
3.开始自作图表
把【Path (bin)】拖入到列功能区,【Product】拖入行功能区,标记类型选择“形状”,再把【TC_Shape】拖入到形状标签,点击形状标签,选择形状板的“评级”,1选红色圆,0.5选红色半圆。这样效果就基本上有了。
下面就是要修改颜色,隐藏掉不需要的图形。把【TC_Size】拖到“大小”标签上,再把【TC_Size】拖到颜色标签上,并右键修改【TC_Size】为离散类型(变成蓝色,这里要说的不是修改拖到大小标签的【TC_Size】),点击颜色标签,选择1为白色,0为红色。基本样式就达到了。
效果1最后把【TC_Rating】拖到行功能区,右键选择类型为离散,并去掉不需要的表头,标题等
最终效果另外要说的就是,大神的文章里数值有4和3.5,对于评级表来说0.5的效果是最明显的,如果有其他值的需求,比如0.25或者0.75等等,就需要修改一下【TC_Shape】的公式。
IF [Index] <= [TC_Rating] THEN
1
ELSE
IF [Index] >= [TC_Rating]+1 THEN
NULL
ELSE
[TC_Rating]-[Index]
END
END
效果2然后修改一下【TC_Shape】的形状标签,也可以根据自己需要用自定图形,但是个人感觉还是0.5的效果最好一点。
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下
网友评论