自从本·施奈德曼1990 年代初开发了 Treemap,人们一直在想出新的算法来布置图块或矩形来表示数据。树状图是一种区域填充可视化,旨在表示数据,以便用户可以通过查看矩形的相对区域来轻松比较值。您可能熟悉 Treemap 平台JMP或使用 Graph Builder 中的 Treemap 选项。
JMP 中的树状图始终使用拆分算法生成图块。该算法的优点是可以保留数据在可视化中的顺序。它也是稳定的——这意味着当您调整可视化大小时,矩形往往会停留在相同的一般区域。这使得查找特定值变得更加容易。
让我们看一下旧金山犯罪数据的树状图,您可以在 JMP 的示例数据文件夹中找到它。

在此树状图中,我们可以看到特定时间段内每种犯罪类别的事件数量。矩形越大,这种类型的犯罪发生的频率就越高。盗窃/盗窃似乎是最常见的。但接下来是哪个?是非刑事犯罪还是其他犯罪?有时,当值相似时很难比较值,尤其是当矩形彼此不靠近时。此外,欺诈与可疑事件(事件的简称)相比如何?使用 JMP 中的当前算法,我们有时会得到奇形怪状的矩形,要么又高又瘦,要么又矮又胖。这也使得比较这些值变得困难。
为了帮助解决这些问题,JMP 12 中的 Treemap 现在包含一个名为 Squarify 的新平铺算法。你在安妮·米利的帖子中看到了这一点,有抱负的数据分析师需要知道什么. Squarify 按大小对矩形进行排序,以便我们可以更轻松地比较相似的值。最大值总是在左上角,最小值在右下角。有清晰的线条显示空间是如何划分的,指示生成矩形的顺序,以及值的顺序。
所以让我们从布局菜单选项中选择 Squarify 而不是 Split。盗窃/盗窃显然再次成为最大的价值。以Larceny/Theft 右侧从上到下的线为线索,我知道Other Offences 次之,其次是Non-Criminal、Assault、Vandalism 等。

Squarify 还尝试使每个矩形的纵横比接近 1,因此它接近于正方形。这避免了难以比较或在某些情况下甚至难以看到的奇怪形状的矩形。在第一张图片中,您可能会注意到左上角有一个细长的红色水平矩形,位于 Assault 上方。这代表了纵火的价值。由于形状奇特,而且价值低,很难比较,甚至很难找到。在显示 Squarify 的第二张图片中,您可以在右下角附近找到 Arson,但您可以看到其下方还有其他矩形——这表明 Arson 不是最小值。
因此,如果您正在使用 Treemap 并且想要查找特定值,Split 可能是适合您的算法。它将保留数据的顺序并使特定值更易于查找。但是,如果您要回答的问题是哪个值最大或哪个最小,或者您想比较相似的值,请尝试 Squarify。这可能会让您更容易找到答案。
那么,如果您的 Treemap 中有嵌套类别会发生什么?这是另一篇博文的主题。
约翰庞特写道:
Ordering 变量用于更改数据的默认顺序。默认情况下,数据表中数据的顺序保留在 Treemap 中。Ordering 变量将根据为 Ordering 指定的变量进行更改。例如,假设您有美国各州的数据。默认情况下,树状图将按字母顺序排列。但是您可以使用纬度和/或经度作为排序变量,然后树形图矩形将按美国各州的位置顺序绘制。您可以使用 JMP 示例数据目录中的 Cities.jmp 数据表来对此进行试验。但是,如果您指定 Squarify,则 Squarify 将按大小排序,因此 Squarify 将忽略任何排序变量。
兰迪写道:
与 JMP 11 中 Treemap 平台的排序变量相比,Squarify 之间有什么区别 - 将按字母顺序排列(其中值从左上角到右下角)更改为按指定变量排序?
- 兰迪(JMP 新手)