美文网首页
用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