用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]

本系列导航

用Tableau画环形图系列(一)画个简单的圆

用Tableau画环形图系列(二)画同心圆

用Tableau画环形图系列(三)画环状条形图

用Tableau画环形图系列(四)画圆弧图(1)

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

用Tableau画环形图系列(六)画柱状环形图

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]


前段时间看Toan Hoang大神的博客,有个尖状环形图的例子很吸引我,于是就把这篇博客的主要内容翻译一下,以便大家学习。原文地址 http://toanhoang.com/tableau-pointed-rings/


用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第1张图片
原文图 ,最终效果

数据:


用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第2张图片
也可下载原文中的数据

1.创建数据桶:在path字段上右键,创建数据桶,数据桶大小为1

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第3张图片
原文图

2.创建index计算字段:【index】=(INDEX()-1)*2(这个字段我理解,其实是扩充了path的大小,从270扩充到了540)

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第4张图片
原文图

创建WC_pi计算字段:【WC_pi】=WINDOW_MAX(MAX(pi()))(试了一下直接用pi()也可以,因为是个常数,作者应该是方便表计算不出错,因为表计算不允许非聚合和聚合一同计算)

创建WC_start计算字段:【WC_start】=WINDOW_MAX(MAX([Start])),原文Note说可以使用rank函数来获取此值,这样它将更加动态并允许我执行sort之类的函数(其实这就是圆的半径,决定谁在内圈,谁在外圈)

创建WC_percentage计算字段:【WC_percentage】=WINDOW_MAX(MAX([Percentage]))(用这个字段来确定圆环相对于最长的270度的长短)

创建X字段:

IF [index]<270 then

  SIN([index]*[WC_percentage]*[WC_pi]/180)*[WC_start]

elseif [index]>270 then

  SIN((540-[index])*[WC_percentage]*[WC_pi]/180)*([WC_start]+1)

ELSE

  SIN(([index]*[WC_percentage]+3)*[WC_pi]/180)*([WC_start]+0.5)

END

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第5张图片
原文图

创建Y字段:

IF [index]<270 then

  COS([index]*[WC_percentage]*[WC_pi]/180)*[WC_start]

elseif [index]>270 then

  COS((540-[index])*[WC_percentage]*[WC_pi]/180)*([WC_start]+1)

ELSE

  COS(([index]*[WC_percentage]+3)*[WC_pi]/180)*([WC_start]+0.5)

END

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第6张图片
原文图

这里是最难理解的,我们先不往下讲,先把原理解释一下,看下图就明白了,就最长的圆环来说,红色270个点是一个圆环的内环,蓝色270个点是外环,绿色1个点是箭头的顶点,然后用多边形填充上。

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第7张图片

填充好就成了下面的图,原理就是这样

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第8张图片

接下来

创建Y2字段:【Y2】=[WC_start]+0.5

3.开始制作图形

1)把Path (数据桶)拖拽到详细信息标记上

2)把X拖到行功能区,Y拖到列功能区,并分别在X和Y上右键,都选择计算依据为Path (数据桶)

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第9张图片

3)标记改为多边形

4)拖拽index字段到路径标记,并右键选择计算依据为Path (数据桶)

5)拖拽name字段到颜色标记

用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第10张图片
原文图

6)添加Y2到行功能区

在全部标记里右键index,选择计算依据为表横穿,

在行功能区右键Y2选择双轴

右键Y2轴,选择同步轴

然后全都没有了,哈哈(Do not panic because everything disappeared)

因为全部标记里会多出一个度量名称的颜色标记,把它移出去

然后到Y2标记区,把多边形选为圆形


用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第11张图片
原文图

剩下就是美化工作了,去掉轴,背景,添加标签,给圆形加边界,我做完的效果大概就是这个样子等等。


用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译]_第12张图片

此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下

你可能感兴趣的:(用Tableau画环形图系列(七)用Tableau画尖状环形图[翻译])