POINT图表竞赛6/10这一期的数据来自MakeoverMonday Week24 Sleepless in America? 数据下载地址:data.world

Tableau Public 工作簿地址

数据还是比较简单的,可以先删除不必要的列【Period】【Activity】(【Link】是添加的辅助列,用来进行表连接) 最后剩下年份、日期类型、年龄段、性别四个维度,所以主要就是围绕这四个维度展开。第一版长下面这样,将年份、日期类型、年龄段三个维度都放到一个图表里比较了。

可以明显的看到工作日和假期之间的差距;

中间的灰色曲线代表随时间发展,睡眠时长的变化;

通过颜色来区分各个年龄段之间,通过点选图例可以动态显示不同年龄段的平均值; 可以发现目前各个年龄段之间呈现的差距还是比较明显的,这是通过操纵坐标轴实现的,虽然通过标记平均值参考线避免了误解,但依然觉得这不是最佳的选择。 直到看到一个小伙伴用了环状条形图,发现用它来做年龄段的比较,真的再合适不过了,之前一直没有碰到合适的数据用Tableau制作环状条形图,机不可失,果断重新做一版。。。

四个维度四张图,还是能够比较明显得呈现差异了

关于如何使用Tableau创建环状条形图

回想一下之前做环形图最基本的两点,确定每个点的半径R和坐标(X,Y)

还需要一个辅助列【Point】其值为0~360,也就是对应圆上的360个点的角度
  • 这里的R是什么? 按照不同年龄段,每个年龄段设置一个半径

    IF [Age Group]=15 to 24 years THEN 7

    ELSEIF [Age Group]=25 to 34 years THEN 6 ELSEIF [Age Group]=35 to 44 years THEN 5 ELSEIF [Age Group]=45 to 54 years THEN 4

    ELSEIF [Age Group]=55 to 64 years THEN 3

    ELSEIF [Age Group]=65 years and over THEN 2 ELSE 1 END
  • 如何确定每个点的(X,Y)? 通用公式是这样的 X=SIN(PI / 180 * 角度) * R Y=COS(PI / 180 * 角度) * R 这里需要修改一下,因为我们要呈现的不是完整的圆,而是要根据不同的时间占比显示不同的角度
  • 如何得到比例值【%size】? 想像一下一个整圆代表12个小时,那根据不同年龄段的平均睡眠时长除以12就能得到各自相应的比例值,然后我们就能用它来按比例缩放每个点的角度啦~ 这里的【Point】就是每个点的角度值 X=SIN([Point] * PI()/180 * [%size]) * [R] Y=COS([Point] * PI()/180 * [%size]) * [R]

弄清楚这几个点,接下去应该就不成问题啦~

动手试一试吧~

但是在做选择的时候还是要思考一下,对于你的数据来说,它是不是最佳选择,毕竟用Tableau做径向图并不是省时省力的事(虽然颜值挺高)。在Tableau Public上也有朋友提出了这样的疑问Barchart Bakeoff: Radial or Not?

你觉得呢?


推荐阅读:
相关文章