返回数据提示页面

如何在Tableau中制作格子/瓷砖/小多地图

图表类型 尖端

此内容从我的书中摘录, 创新的Tableau:100个更多提示,教程和策略由2020年的O'Reilly Media Inc.出版,ISBN:978-1492075653出版。 在亚马逊那里找到这本书.

具有许多名称的图表类型...格子地图,瓷砖地图或小型多地图可以帮助您在一个简洁的视图中对比较多个地图的测量。无论您选择何种您调用它们,这些地图会呈现一种有效的方法,可以将上下文添加到视图而不使您的最终用户进行额外的工作。正如帖子中所讨论的那样, 如何在Tableau中制作小倍以这种方式添加上下文是一种避免可怕问题的策略,“所以呢?”。

此帖子将提供两种技术,用于在Tableau中创建格子/瓷砖/小多地图。在第一种方法中,我们将使用表计算自动为地图生成网格。提供公式,因此您可以在几秒钟内创建这些地图。在第二种方法中,我们将使用if /然后逻辑来手动生成网格。此方法使您可以完全控制布局中的行数和列数,以及您希望每个映射出现的“单元格”。我还将分享一个创意黑客,了解如何在视图中为每个映射添加标签。

 

如何在Tableau中制作格子/瓷砖/小多地图

对于在Tableau中创建小多地图的方法,我们将从Tableau公共可视化中重新创建以下视图, 一个50个城市的故事 。在视图中,我使用格子布局显示每个美国人口普查期间的人口变化,它会追溯到1790年。

[单击图像查看交互式版本]
一个50个城市格特拉斯地图视图的故事

对于第一种方法,以及用于创建上面的视图的方法,我们将使用索引()和size()函数为列创建一系列的维度和行的维度。据我所知,这种方法是由我的朋友和数据viz英雄发明的, 克里斯爱的信息实验室。克里斯解释说明更好的正义,但为了效率,我要简单地分享公式,所以你可以把它们付诸实践。

首先,为x轴(或列)创建计算字段;公式是:

(索引() - 1)%(int(sqrt(size()))))

X轴网格地图在Tableau中的计算领域

还为Y轴(或行)创建一个单独的计算字段;公式是:

int((index() - 1)/(int(sqrt(size()))))))

Y轴格子网图在Tableau中的计算领域

现在我将为我的地图奠定基础。当然,您可以映射的物品有限,因此您需要将以下步骤应用于您自己的可视化。要继续执行此帖子中的示例,我将只需双击状态维度以启动地图,并将人口普查维度放在细节标记货架上。

Tableau国家和人口普查地图基金会

目前,视野上有1,150个标记,但我们只能看到50,因为它们彼此铺设(即相同状态的多个标记)。我们现在将使用新建的x轴和y轴计算的字段创建一个网格,该字段将标记传播到其各自的细胞中。

首先,将x轴计算的字段放在列货架上,在排货架上的y轴计算的字段。

Tableau X轴在列货架上的架子和y轴上

你敏锐的直觉可能会告诉你,这并不完全正确。这是因为我们需要将x轴和y轴字段更改为离散。这可以通过右键单击每一个(或单击鼠标悬停在避孕面上时的三角形)来实现。

从Tableau连续改变药丸

将新创建计算字段更改为离散后,我们最终使用原始地图。

Tableau状态和人口普查地图具有离散X轴和Y轴

最后,我们需要分别更改x轴和y轴测量上的表计算,因此它们使用我们想要的字段计算在每个单元格中。在这种情况下,我想要每个人口普查的独特单元格。要编辑表计算,您可以再次单击到每个避胶,将鼠标悬停在“使用”上,然后选择“人口普查”(或您创建唯一单元格的任何字段)。

Tableau更改计算使用表计算

在这种变化之后,我们有一个网格/瓷砖/小型多组地图!

Tableau未格式化的人口普查由State Grellis地图

如果您遵循这些步骤,但请在单元格中查看多个维度成员–或者对于您尝试可视化的方案的唯一单元格,您的视图可能包含额外的尺寸,必须添加到表格计算的寻址。这变得棘手,但它’如果右键单击正在生成的Trellis效果(X轴和Y轴,在我的情况下),则最容易使用,然后单击“编辑表计算…”.

如果您希望根据附加尺寸包含更多单元格,请选择“Specific Dimensions”,并检查所需的尺寸:

自定义表格计算以添加尺寸以寻址

将城市维度添加到My X轴和Y轴字段后,我的网格现在有15行,13列或195个单元格。

您可能遇到的另一种情况是包含不同行数的维度成员。例如,我数据集中最早的人口普查数据仅包含4个城市:纽约,费城,波士顿和巴尔的摩。这是有问题的,因为需要建立网格,以便在我的可视化中包含所有23个人口普查年的前50个城市。这种不匹配的人口普查年数和城市名称抛出了创建我们理想的列和行数的动态索引()计算。

我通过将我的底层数据与所有前50个城市填充我的底层数据来处理这个问题,即使他们没有针对某种人口普查的数据,然后使用 动态工具提示 解释城市没有’T有数据。另一种做数据的方法‘densification’通过这种方式,将所有相关维度添加到寻址,但然后改变“At the level” dropdown from “Deepest”,回到维度,您希望唯一的单元格:

在Tableau表计算的水平上变化

将表格计算的级别更改为人口普查后,我返回到4列的6行网格或24个单元格,一个用于我数据集中的每个人口普查(最后一个单元格为空白,因为我只有23个人口普查年份)。

有关表格计算寻址和分区的更多,请参阅 Tableau表计算介绍.

既然您在网格中有地图,您可以根据需要修改它们。在我的最后一个例子中,我添加了一个名为PLOUNT的措施,给大小标记卡显示每个人口普查期间的人口。我还彩色了与表计算的标记,计算了人口普查人口的人口普查。

 

在Tableau中创建格子/瓷砖/小多地图的另一种方法

创建网格的第二种方法将地图放在我的朋友和导师所涵盖的, Ben Jones在dataremixed.com。虽然该方法是更多手动,但当您制作小网格时,它可能是最佳选择,并希望准确控制每个地图中的每个映射都已置于哪些拍摄中。

对于此技术,与第一个方法一样,您为列和行创建一个字段。不同之处在于您将显示维度成员(在案例中的案例年份)的完全列出的列表。以下是我的普查岁月使用子集的列和行的公式。

柱子
Tableau专栏手动方法进入小型多地图


Tableau行手动方法小多地图

当在同一视图上一起使用时,例如,1800年将出现在第二列和第一行中。使用此方法时,您需要确保没有重叠(多个维度成员最终占用相同的单元))。这就是这种方法对于12个或更少细胞的较小网格更好的原因。

一旦您创建了两个新的计算字段,就像我们之前所做的那样,我们将新创建的计算字段添加到我们的基础地图中,并将丸从连续变为离散的丸。

Tableau Trellis瓷砖小多地图方法2

出于插图目的,我只涂上了八个细胞。由于我有更多的人口普查尺寸成员,而不是细胞,因此存在一个空型被放置在左上级。通过右键单击“空”标题之一并单击“排除”,可以轻松地过滤此单元格。这是我的最终网格基础在过滤掉空白并通过右键单击并取消选择“Show标题”时隐藏列/行标题的方式。

Tableau小型多地图方法2没有标题

 

一个创意黑客,用于为地图网格中添加每个单元格的标签

这篇文章中概述的小型多地图方法的挑战之一是您无法立即讲述每个单元格中所示的内容。您还可以在Tableau中浮动文本框或添加注释,以帮助您的用户导航,但正如所承诺的那样,我正在分享稍微更有效和创造性的方式来标记单元格。

首先,将您想要用作标签标记卡上的单元格标签的字段。在我的情况下,我希望每个单元格显示正在评估人口普查,因此我会将人口普查尺寸拖到标签标记卡。

Tableau将尺寸添加到标签标记卡

如您所见,每个单元的人口普查都会在不重叠的情况下尽可能多的时间显示多次。这是多余的,而不是我们想要的,所以现在,通过点击标签标记卡,然后取消选择“Show Mark标签”来转动所有标签。

获取单元格标签仅以每个单元格显示一次,但具有一致格式的诀窍是强制标记标签仅在每个单元格中显示一个标记。为此,请右键单击标记,悬停在“标记标签”上,然后选择“始终显示”。

Tableau总是显示标记标签

为每个单元格执行此操作后,您将每个单元格有一个标签。为了格式化一致性,我通过左键单击并将每个小区中的标签拖动到单元格的左下角,将所有普遍存在的历年放在左下角。这次一次性步骤是一个位手册,但是现在,如果您通过再次单击标签标记卡编辑标签的格式,则所有标签将同时更新。

Tableau小型多地图,带有单元格标签

谢谢阅读,
– Ryan