跳至正文

Tableau创建桑基图、径向图等复杂可视化

参考原文: Exploring Sankey and Radial Charts with the New Chart Types Pilot on Tableau Public

在翘首期盼2023.2版本的时刻,Tableau Public预先推出了快速完成桑基图Sankey和径向图Radial chart的增强标记(marks)。相关功能将截止到6月30日可用,之后应该会纳入正式版本推出。

虽然Tableau Desktop也有一定的自定义可视化功能,但是仅仅使用Mark标记的“第六元素”简单控制;Sankey和Radial Chart的推出,让自定义可视化框架更上一层楼,新增了“Level级别”并配合Link/Angle来生成。

本次推出的桑基图和径向图,是Tableau可视化的一大进步,开始使用多个自定义元素控制高级图形,并为此引入了“level”的新功能——可以视为是从level of detail中拆分而来的,和之前的detail(详细信息)等其他要素共同决定视图的详细级别。

为了帮助业务用户更好地理解Tableau在可视化方面的扩展逻辑,喜乐君将在本文中系统介绍可视化图表的分类和关系。

一、基本可视化、“复杂可视化”的边界

复杂(complex)不同于高级(complicated)

学习 Python的人常听两句话:Simple is better than complex. Complex is better than complicated. 一个问题如果能用简单的方式解决,就要避免复杂路径;同时,也总有一些问题是复杂,甚至高级难懂的,这就是IT专业人士存在的价值。因此,追求简单总是好的,但复杂和高级的存在也是必要的。

在可视化分析中,也常有初级、中级、高级,或者简单、复杂的分类。喜乐君常用的分类标准是简单(simple)、复杂(complex)和高级(comlicated)。在业务分析中,分析师应该追求尽可能用简单的可视化,只有在必要之时才引入复杂可视化图形(比如展现银行资金流向的桑基图),只有在必要之时才叠加不同详细级别的问题构成高级可视化(比如客户购买频次直方图、复购分析)。

特别注意的是,复杂图形的“复杂”多指不常用的,或者构成上的复杂性,比如波士顿矩阵、盒须图,前者基于散点图和参考线组合而成,后者是点图和参考区间的组合,传统分析中使用较少,同时构成复杂;高级图形的“高级”(high- level)主要是结构上的复杂性,特别是多个详细级别(level of detail)的问题组合而来的可视化,在表达上可以是简单可视化,也可以是复杂可视化图形,比如“不同频次区间的客户数量”(LOD15-1)、“不同订单年度、不同获客年度的销售额”(LOD15-2)。

  • 简单可视化图形

“简单”和“复杂”相对应,简单可视化就是那些结构简单、图形常见的可视化样式,以条形图、折线图为代表。简单可视化图形与我们每个人内心的直觉相呼应,所以“简单”可视化又可以指那些可以直接引起每个人条件反射式的数据反馈的图形。

简单的交叉表,或者高亮本文表,也可以视为特殊的简单可视化类型。喜乐君常常用“三图一表”代表“简单可视化图形”(simple charts),详见《业务可视化分析:从问题到图形的Tableau方法》(2021.8)一书。

  • 复杂可视化图形complex charts

复杂可视化图形指那些不常用的图形、构成较为复杂的图形。对于传统的分析工具而言,代表性的复杂可视化是分布分析和相关性分析,比如散点图/波士顿矩阵、直方图、双轴图、盒须图,它们是相对典型的“复杂图形(complex charts)”。——特别是习惯用excel、SQL等工具的人而言,前者限于单元格思考,后者限于数据表展现。

随着分析师水平的提高,随着工具升级简化了上述图表的制作难度,也可以把常见的直方图、散点图列入简单可视化图形之列。这就是Tableau等优秀的BI工具能带给我的认知升级。

另一类复杂图形则是展现上的复杂性,比如桑基图、径向图、雷达图等。它们的制作逻辑各有不同,因此极难以通用的分析框架实现。这也是Tableau 迟迟难以自动满足的原因。

  • 高级可视化图形Complicated charts

那何为“complicated charts”? 喜乐君把包含多个详细级别的可视化类型,称之为complicated,翻译为“高级”,以和complex复杂相区别。当然“高级图表”通常不是全新的可视化类型,而是simple charts和complex chart在结构上的组合形式。

最简单的“高级图形”,应该是饼图、环形图——简单的饼图背后,包含了当前视图详细级别和更高聚合详细级别,二者的比值是占比。由于工具把计算简化、隐藏了,所以很多人不以为高级。同理,散点图在增加平均参考线之后,也会走向高级分析——参考线,特别是比率参考线,背后也是更高详细级别的聚合计算。

当然,最为典型的高级图形,是维度或者度量中直接引用其他详细级别聚合的可视化,典型代表是Tableau 15大LOD表达式案例,比如“不同购买频次的客户数量”“客户阵列分析”“客户购买力分析”,等等。

Tableau LOD表达式:会员分析案例(对话版)

二、Tableau的通用可视化定义框架

相比其他可视化分析工具,Tableau在可视化方面的关键特征,是基于字段连续/离散分类的可视化逻辑,和基于行列的标准可视化框架。

在《业务可视化分析:从问题到图形的Tableau方法》一书中,喜乐君绘制了如下的图例,用来说明基于字段连续性和行列坐标系的Tableau可视化逻辑,它们构成了最常见的可视化分类,也是Tableau智能推荐®️的基本素材。

上述通用的可视化框架,建立在如下两个关键基础之上:

  • 字段的连续/离散分类:Tableau用绿色代表连续性,用蓝色代表离散,并把“有限连续”(次序)视同离散
  • 基于行列的可视化空间:连续的字段生成坐标轴,离散、次序字段生成分类标题

Tableau的可视化效果之所以能一骑绝尘,也是基于离散/连续构建的色彩管理,色彩科学家为不同类型的字段预设了可选的色彩图例,从而让可视化更加复杂人的视觉。

基于这样的逻辑框架,Tableau才有勇气说,We help PEOPLE to see and understand DATA,而非面向专业用户。

相比之下,大部分BI工具,包括Power BI和帆软、观远等国产BI,更侧重单一图形的可视化自定义,而非标准框架,因此在选择很多图形之后,配置选项会有较大的变化。如下图所示,当用户选择特定的图形类型时,可视化配置区域会有很多的变化,甚至有时候行列都变得不重要。这就是典型的“高级自定义可视化”的路径。

相比之下,这种“高级自定义可视化”能预先实现更加复杂的可视化样式,比如预先设置帕累托、桑基图,甚至南丁格尔玫瑰图等,从而简化用户使用的难度。它的缺点是难以帮助用户理解可视化背后的逻辑,难以超越既有框架实现更加自由的配置。

Tableau基于字段属性和行列空间的“通用可视化框架”,让自由配置、自由拖拽变得异常简单,这也是Viz QL专利的魅力所在,它可以实现你能想到的所有可视化,就像你在Tableau Public中看到的那样;只是,它提升了复杂图形的制作难度,只有那些专业大师才能完成流向图、南丁格尔玫瑰等复杂可视化。

如今,随着可视化普及到“寻常百姓家”,之前一些看似复杂的图形日渐被普及、认可,Tableau也决心顺势做出改变,在通用定义基础上逐步扩展常见图形,于是就有了这次的桑基图、Radial 的尝试。

三、Tableau高级自定义的尝试——Sankey

在金融、经济统计分析等一些较专业的领域,常常分析多个维度字段之间的度量变化,对应的Sankey桑基图就异常重要,如下图的动画(官方用图)所示,选择一个分类,可以查看对应的ship Mode流向,以及在Segment的对应情况。喜乐君也曾接触到公安的诈骗分析,可以用类似的图形快速识别特定嫌疑人的大额资金去向。

在官方的说明中,分享了Zainab Ayodimeji的  UEFA Euro2020 – Journey to FInals作品,如下所示:

有了最新推出的Sankey Chart,一切开始变得简单。

只需要选择Sankey样式,然后把多个维度字段依次拖入Level,就可以生产如下的桑基图框架,中间的连线代表所有的可能性——暂时缺少度量值控制,因此它们都是相同粗细的线条。

需要注意的是,这里的每条线代表的是所有维度分类连接的可能性,因此一个Furniture才有三条线对应Same Day——它们分别连接不同的Segment。按照这个逻辑,桑基图的流向是从第一个分类到最后分类的流向,而非两两分类之间的流向。这个设置是出乎我意料的。

接下来,只需要增加度量值到Line之中,线条的粗细就代表了流向的规模,桑基图就瞬间完成了。

特别说明的是,如果聚合值中包含负数,那么会被自动忽略,所以尽量不要使用此类聚合字段。

四、Tableau高级自定义的尝试——Radial

Radial Chart(“径向图”)根据复杂性可以分为环形图(donut)和旭日图(sunburst)两大类,前者只有一个离散分类,后者则有多个。

相比通用框架,这里增加了“Level级别”的新自定义元素,“size大小”则被隐藏(其作用可以被Angle代替)。在Radial选项下,维度字段置于Detail(详细级别)不再有效,甚至不能放在Color颜色上;只有将维度置于Level(级别)时,分类字段既控制详细级别,又作为颜色使用。

你会发现很多和之前不同的地方,比如只用Detail不再有效,颜色不再由Color直接控制,标签都预设了百分数格式显示(我们并没有设置任何合计百分比计算)——所有这些,意味着Tableau为此做了高级定制,不再像其他标记类型一样完全交给用户控制。

随着维度字段增加,Radial就会有更多的效果,比如增加维度后扩展两层显示——又称之为“旭日图”Sunburst。如下所示,当新的维度字段加入LEVEL(注意不是DETAIL),Radial Chart会增加在之前基础上,增加一层分类。

如果增加更多的LEVEL,那么饼图则会进一步展开,只是随着层次增加,标签显示开始变得异常拥挤。

目前来说,如果只有一个分类,建议使用饼图(pie),或者双层饼图实现“环形图”(donut)效果,此时的自定义配置更好用;如果只有两个分类,喜乐君依然建议使用“树图TreeMap”来实现,只有当大家的可视化认知水平到了一定水平,或者只有双层饼图易于理解时,再选择上面的样式。

在没有这个功能之前,一些Tableau大神也会使用双轴或其他方式完成高级图形,比如Superstore Hierarchies by Chimdi Nwosu 这个作品。

补、何时应该使用Radial? (官方说明)

A radial chart is a type of chart that displays data in a circular format in which the total of all segment values adds up to 100%, representing the whole. There are actually two different types of radial charts that are commonly used, donut and sunburst charts. A donut chart is effectively a pie chart but with a hole or empty space at the center, while a sunburst chart displays relationships across multiple tiers of categorical dimensions. 

I love donut charts because they are easy to read and understand, even for viewers who are less familiar with data visualization.

Donut charts are particularly useful when you:

  • Have a limited number of categories and want to emphasize the differences between them.
  • Want to show the contribution of each category to the total, but also want to show the total value as a separate element.
  • Want to show the completion percentage vs a goal.

Donut charts should be avoided in situations where there are many categories to visualize. I find they work best when used to display five (or ideally fewer) categories or segments. The more segments on the chart, the more difficult it becomes to interpret as they might seem similar-looking, making it difficult to accurately compare the sizes of the individual segments. 

On the other hand, sunburst charts are wonderful for showing the breakdown of data across differentcategories or groups, displaying the relationship between categories and subcategories and helping people see the proportion of each subcategory within the overall category. 

While sunburst charts can look very cool, they are particularly effective at displaying a large amount of data in a compact and visually appealing format, they are best suited for scenarios where there is a requirement to display hierarchical relationships and proportions. As with all circular charts, it can be difficult to clearly and simply identify patterns across categories. If the goal of the chart is to identify patterns, a 100% stacked bar chart may be a better choice. 

Sunburst charts may not be suitable for all audiences. Some audiences, particularly those less familiar with data visualizations, may have difficulty understanding or interpreting the radial layout.

作品欣赏

Work Like an Artist: Daily Routines of Famous Creatives by Ha PL

来自Tableau官方的动图介绍——你想要的,或者说,只要是几何中可以实现的,Tableau都将满足于你。

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading