用Tableau画震波图

震波图(Seismogram)是条形图的一个变种。条形图的0值在最下部,而震波图的0值在柱子的中央,所以就构成了类似地震波或者声波的效果。当然,这也会增加阅读的难度。

制作震波图非常的简单,可以使用甘特图和度量值两种方式,效果就是直角和圆角的差别。数据就可以采用自带的超市数据。

直角震波图

  • 新建[1/2销售额]字段:SUM([销售额])/2
  • 将[订单日期]拖到列功能区,改成需要的日期区间(连续、离散都可以)
  • 将标记改为甘特图,拖动[销售额]到大小上,添加一个负号,改为-SUM([销售额])

这样就做好了,此时0值就已经在线段的中间了。这个图的关键是对甘特图特性的深入理解。

如果需要标记最大值和最小值,可以增加一个字段

  • max or min:
IF SUM([销售额]) = WINDOW_MAX(SUM([销售额])) THEN 'max'
ELSEIF SUM([销售额]) = WINDOW_MIN(SUM([销售额])) THEN 'min'
ELSE 'other'
END
  • 将[max or min]拖到颜色上,编辑表计算,计算依据为[订单日期],并编辑好颜色

圆角震波图

  • 新建[-1/2销售额]字段:-SUM([销售额])/2
  • 将[订单日期]拖到列功能区,改成需要的日期区间
  • 拖动[度量值]到行功能区,只保留[1/2销售额]和[-1/2销售额]这两个值
  • 将标记类型改为线,拖动[度量名称]到路径
  • 拖动[订单日期]到详细信息,并改为同样的日期区间
  • 拖动[max or min]到颜色,编辑表计算,计算依据为[订单日期],并编辑好颜色

圆角的震波图难度增加了一点,一个是要对度量值和度量名称加深理解,另外就是增加一个[订单日期]作为维度,区分画线的范围。
当然也可以不加这个维度,把列上的[订单日期]改为离散,也可以起到区分的作用,效果略有差别,大家根据需要自行选择。

Tableau的灵活性非常高,同样的图表可以用不同的方式实现,关键在于对底层逻辑的理解。这里还是推荐我的《Tableau高级图表进阶》课程,不仅要教会你制图的方法,更关键的是要教会你绘制图表的底层逻辑。

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

你可能感兴趣的:(用Tableau画震波图)