用Tableau画环形图系列(五)画圆弧图(2)

关于圆弧图(Arc Chart)有多种形式,上一讲讲的是一种常见形式,前段时间看到Andy Kriebel大神的一个作品,觉得特别漂亮,就下载下来研究了一下。

https://public.tableau.com/profile/andy.kriebel#!/vizhome/EuropeanIrishWhiskeySalesCurves/JumpyCurvy

如果你理解了前面的文章,就会觉得特别简单,下面我们来自己做一个。

老办法,构造一张point表(两个字段link和point),值是0-180,这个不多说了

再构造一张circle表,也很简单,R随便填(可以有负数)

引入Tableau,用内连接连接两张表,构造出新表

构建[sin]:SIN([point] * PI() / 180) * [R]

关键就在怎么构建cos这个值,因为要使所有圆的起始点(或者结束点)都是一个点,怎么做?

构建[cos]=((COS([point] * PI() / 180))+1) * [R],关键就在这里cos先加了一个1,又要复习前面的知识了,cos(x) 返回的是 -1.0 到 1.0 之间的数,0度的时候,cos(0*pi/180)=1,那么180度的时候,cos(180*PI()/180)=-1,如果加上1,cos(180*PI()/180)+1=0,本身sin(180*PI()/180)=0,那么所有圆在180度时的值都是0,也就是结束点都是(0,0)

所以就结果就很明显了

是不是很简单。

下面有两个思考题

1.如果cos减去1是什么结果?

2,如果想做成下面的效果,该改哪里?

好了,环形图系列就到这里了,其实环形图有很多种形式,我也只是研究了这么几个简单的,大家有兴趣还是去多拆解Tableau Public上的作品,多多研究,会有很大收获。

作者:扫地sir

链接:https://www.jianshu.com/p/78928ed4c9b6

來源:

著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(用Tableau画环形图系列(五)画圆弧图(2))