美文网首页
用Tableau画曲线图系列(五)彩虹色带图(下)

用Tableau画曲线图系列(五)彩虹色带图(下)

作者: 扫地sir | 来源:发表于2020-09-09 09:26 被阅读0次

上一篇文章《用Tableau画曲线图系列(四)彩虹色带图(上)》,我们已经把色带画出来了。这篇文章我们来画堆积柱状图的部分。说是柱状图,其实还是用多边形来画。

数据集不变,继续创建计算字段。

创建柱状图的计算字段

  • Path4=
IF [表名称]='Ribbon.csv' then 1
ELSE 4
END
  • 创建数据桶Path4 (bin)
  • IndexPath4Bin=INDEX()

  • X-bar=

case [IndexPath4Bin]
when 1 then [IndexYear]*2-1
when 2 then [IndexYear]*2
when 3 then [IndexYear]*2
when 4 then [IndexYear]*2-1
END
-1
  • Y-bar=
case [IndexPath4Bin]
when 1 then [CRunS]
when 2 then [CRunS]
when 3 then [CRunS]-window_max(sum([Value]))
when 4 then [CRunS]-window_max(sum([Value]))
end

制作图形

  • 把[X-bar]拖到列功能区,[Y-bar]拖到行功能区。

  • 将[X-bar]标签里的路径[Path102 (bin)]更换为[Path4(bin)]。

这里一定要注意,Path4(bin)也要勾选显示缺失值。

  • 编辑[X-bar]的表计算依据,如下图:
  • 右键[Y-bar],表计算依据选择[Path4(bin)]。
  • 将列和行都进行双轴操作,并同步轴。

调整颜色和透明度后,就得到完整图形了。

至于原理部分,我只简单介绍一下,确实很烧脑,我也是研究了很长时间才大致明白。

我们选中色带的一段多边形,可以从下面的示意图中看到,PathGroup将path数据桶中的102个点分成了4段,来画多边形,如下图所示:

而计算Y轴需要前一年和本年的Value和RunS值,然后再配合PathGroup计算求出Y轴的相对位置,其计算原理如下图所示:

image.png

堆积柱形图就简单了,数据桶中就4个点,用4个点画一个长方形,当然只需要本年的Value和RunS值即可。

虽然原理很复杂,但是制作起来也不是太难,主要是数据源的处理一定要做好,表计算和数据桶的操作要多注意,容易出错。

对于普通用户来说,原理部分其实并不重要,能做出来即可,需要的时候替换一下数据源就可以了。如果做不出来,大家也可以下载我制作好的Viz,继续研究。

https://public.tableau.com/profile/jiangbin#!/vizhome/Ribboncharts/Ribbon2

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

相关文章

网友评论

      本文标题:用Tableau画曲线图系列(五)彩虹色带图(下)

      本文链接:https://www.haomeiwen.com/subject/zyfjektx.html