用Tableau画环形图系列(四)画圆弧图(1)
本系列导航
用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]
今天我们来画圆弧图,英文名字是Arc Chart
http://toanhoang.com/arc-chart-tableau-tutorial/大家可以访问以下这个大神的博客http://toanhoang.com/arc-chart-tableau-tutorial/,上面有数据集和实现的方法,他实现的方法就是用数据桶加表计算的方式(特别说一下Tableau Public上基本都是这种方式,优点是灵活性很高,缺点是初学者理解起来稍微有点困难)
我们来用自己方式模拟一下。
首先就是调整原有的数据集,删除path字段中181的行,然后删除path字段,增加link字段,形成下表
构造一张point表,值是0-180(因为要画半圆)
引入Tableau,用内连接连接两张表,构造出新表
默认已经看过前文了,具体不理解的请参照前文
然后还得复习一下前面的知识
圆上每个点的X坐标=a + sin(2*PI / 360*角度) * r ;Y坐标=b + cos(2*PI / 360*角度) * r
前面三节都是同心圆,没有涉及过改变圆心,所以a和b就没有用到,这次就用上了
首先构建[R](首尾值相减除以2):([End Point]-[Start Point])/2
构建圆心[center](这个自己理解一下):[Start Point]+[R]
这两个关键值做好了,老规矩就要构建sin和cos了
构建[sin](这个没有什么特别的):SIN([point]*PI()/180)*[R]
构建[cos]:[center]+COS([point]*PI()/180)*[R]
这里只有cos才用上center,因为通常我们用cos做横轴(当然也可以用sin做横轴,但是point就不是从0-180开始了,有心的同学可以自己研究一下),圆心是沿着横轴移动,所以只需要改变横轴。
下面步骤不说了,上图了
好了,就剩美化了
大致就是这个样子了
后面还有一种圆弧图,也很好构建,我们下次再讲