数据可视化神作解析——如何用tableau制作好看的放射状条形图(Radial Bar Chart)
目录
Tableau Viz 作品欣赏
作品地址:https://public.tableau.com/profile/kasia.gasiewska.holc#!/vizhome/USBabyNamesVOTD/BabyNames
作品展示:
这个作品最吸引我的就是Radial Bar Chart:
这个图,非常明确的展示了,不同年代出生的婴儿不同取名的数量分布,其中蓝色代表男性,红色代表女性,颜色深浅代表年代。这个图在视觉上有一种冲击感,年代形成一个环,给人一种这些年代虽然在一步步离我们远去又周而复始的感觉,放射状的条形图好像一波波声浪,动感十足。那么这么酷的图是怎么制作出来的呢?我把原作品拿过来进行了拆解,又参考了网上的一些资料,终于找到了制作方法,所谓难者不会、会者不难。
还原Radial Bar Chart制作过程
数据集
为了原汁原味还原制作过程,我下载了原作品的数据集。这是字段的相关信息。第一步就是把数据集导入到Tableau中。
还原过程
创建参数Radial Inner和Radial Outer
这两个参数代表环形的内半径和外半径。
创建计算字段
1、画圆离不开角度和到中心的距离
创建角度RADIAL_ANGLE:
(INDEX()-1)*(1/WINDOW_COUNT(count([RADIAL_FIELD])))2Pi()
其中,
INDEX():返回索引值
WINDOW_COUNT(count([RADIAL_FIELD])):返回计数
也就是把数据集分成N份,这个N由计数给出,索引值给出每一份的位置,乘以2PI就是角度了。
创建到中心的距离RADIAL_NORMALISED_LENGTH:
[Radial Inner]+iif(ATTR([Path Order])=0,0,sum([RADIAL_FIELD])/WINDOW_MAX(SUM([RADIAL_FIELD]))*([Radial Outer]-[Radial Inner]))
查看数据不难发现Path Order这个参数的值为0,1,也就是如果是0我取内径,如果是1我取外径。从内径到外径就是整个环上的一个柱图。
2、画图离不开坐标,圆形的坐标由半径和角度决定
创建X和Y坐标RADIAL_X和RADIAL_Y:
([RADIAL_NORMALISED_LENGTH]cos([RADIAL_ANGLE]))
([RADIAL_NORMALISED_LENGTH]sin([RADIAL_ANGLE]))
这个有中学基础的人都可以理解,(半径cos角度,半径sin角度)就是圆上的一个点。
制作图表
1、将RADIAL_X和RADIAL_Y分布拖拽至行列。
2、将Path_Order拖拽至路径
3、将Combined Field拖拽至颜色,显示什么颜色可以根据自己喜好调整配置
其他内容可参考下面截图
这样做出来的图跟原图已经很接近的,但是总觉得少了点什么。
原来是少了表示年代的环。
如何添加表示年代的环
其实原作者是通过编辑背景图像添加的,具体可以从菜单地图上找到:
选择后点添加图像并进入编辑界面
导入该图并设置好X字段和Y字段,点击确定就可以添加了。
最终仿制结果
成功了,一毛一样是不。
总结一些要注意的点
1、在将拖拽X、Y轴坐标时并没有出现期望的图表,注意需要做一个设置将RADIAL_X, 和RADIAL_Y下拉,点击计算依据,设为Combined Field,环形图就出来了。
2、背景图和条形图的年代对不上,这个是角度的问题,可以调整一下X字段和Y字段的参数值进行修正。也可以调整RADIAL_X和RADIAL_Y的公式进行修正。
3、另外,学习先是缘起与兴趣,然后就想搞点事情,这个图同样在其他地方也可以使用,甚至可以在此基础上进行你的创作,如果做出更好看更实用的图表那会很有成就感,当别人还在做普通条形图的时候,你丢出了这个图,要的就是这个效果,燃爆全场。