本系列导航
用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]
最近在研究Tableau画圆环图,半圆图,跑马灯图等等,在这里记录下来,供大家参考。
我们知道一个圆环是由成千上万的点组成的,当然我们没必要画那么多点,最好理解的就是360度,每一度画一个点,把360个点连起来就是一个圆。
我们用excel准备这样一个数据集
point就是点的编号(0到360),X,Y就是点的坐标
用Tableau打开数据,X,Y分别放到行列功能区就得到了一个半径为1的圆环。
你会问X,Y怎么来的,其实很简单
为啥这么算,先复习一下数学知识
sin(x) x 的正玄值。返回值在 -1.0 到 1.0 之间
cos(x) x 的余弦值。返回的是 -1.0 到 1.0 之间的数
这两个函数中的X 都是指的“弧度”而非“角度”,弧度的计算公式为: 2*PI/360*角度
30° 角度 的弧度 = 2*PI/360*30
如何得到圆上每个点的坐标?
解决思路:根据三角形的正玄、余弦来得值
假设一个圆的圆心坐标是(a,b),半径为r
则圆上每个点的X坐标=a + sin(2*PI / 360*角度) * r ;Y坐标=b + cos(2*PI / 360*角度) * r
如果得到一个圆心为(0,0),半径为1的圆,简化以后就是X坐标=sin(*PI / 180*角度) ,Y坐标Y坐标=cos(*PI / 180*角度)
也就是上面的公式。
其实引入Tableau的数据一列point就可以了,X,Y在Tableau新加入两个字段即可
分别放到行、列功能区(记得取消聚合),即可得到同样的圆。
那么怎么把360个点连起来呢?【标记】选‘线’,point作为路径,即可把360个点连成一个圆
自此,一个圆就画好了
其实很简单,就是要复习一下数学知识。
(excel里sin 360度会有点问题,Tableau没有这个问题)
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下