美文网首页
用Tableau画帽子图(Hat Graphs)

用Tableau画帽子图(Hat Graphs)

作者: 扫地sir | 来源:发表于2020-08-13 15:04 被阅读0次

    帽子图(Hat Graphs)是一个很有意思的图表,它是双柱状图的一种变形,主要是突出数值之间的差异。如下图,从双柱状图变成帽子图(只保留蓝色部分)。

    Jeffrey Shaffer大神在他的博客中提供了一种非常简单的制作方法。大神的博客里有详细的制作引导,帮助大家一步一步的理解帽子图的意义。

    博客地址:https://www.dataplusscience.com/HatGraphs.html

    我这里只取干货,直接介绍制作方法,并加上一些自己的理解。

    数据集使用自带的超市数据。

    我们需要制作[Quanity]的帽子图,所以我们只需建立一个计算差异的字段。

    • Difference in Quanity=-SUM([Quantity]) + LOOKUP(SUM([Quantity]),-1)

    就是通过lookup函数取第一个柱子的值,算出两个柱子之间的差值。

    • 把[Region]和[Ship Mode]拖到列功能区。

    • 把[Ship Mode]拖到筛选器,只选择两个值。

    • 把[Quanity]拖到行功能区,标记类型选择“甘特图”。

    • 把[Difference in Quanity]拖到“大小”并调整大小,计算依据选择[Ship Mode]。

    基本效果就有了。

    下面通过添加合计的方法,来增加维度之间的空白。

    • 从顶部菜单中选择“分析”-“合计”,然后选择“添加所有小计”。

    • 任意选择一个合计,在点击后出现的菜单中选择“隐藏”

    • 右键单击X轴上的“合计”标签,然后选择“设置格式”,在左侧的“格式”窗格中,从“合计”标签中删除“合计”。
    • 再去掉“网格线”和“列分隔符”。

    下面可以增加一个计算字段,添加标签

    • Difference Label=SUM([Quantity]) - LOOKUP(SUM([Quantity]),-1)

    和[Difference in Quanity]相反

    • 将[Difference Label]拖到“标签”里,计算依据同样选择[Ship Mode]。

    基本大功告成了。

    下面我们还可以通过添加双轴的方式,添加总计值和进行一些其他的美化工作,制作衍生版本。

    大家可以去下载Jeffrey Shaffer制作好的Viz来学习,里面有教学和几种衍生版本。

    Jeffrey Shaffer的Public:https://public.tableau.com/profile/jeffrey.shaffer#!/vizhome/CreatingHatGraphsinTableau/CreatingHatGraphs

    另外想说的是,我尝试用FIRST函数来改造计算字段,比如

    • Difference in Quanity=-SUM([Quantity]) + LOOKUP(SUM([Quantity]),FIRST())

    这样[Ship Mode]如果不进行筛选,保留4个值也可以进行比较,但是效果可能并不是特别好。

    我也征求了Jeffrey Shaffer的意见,大神认为技术上是可以这样操作,但是因为所有值都只和第一个值进行比较,所以应用场景有一定限制。大家可以根据实际需求去挖掘适合的应用场景。

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

    相关文章

      网友评论

          本文标题:用Tableau画帽子图(Hat Graphs)

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