美文网首页
【Flerlage Twins专题(14)】如何在Tableau

【Flerlage Twins专题(14)】如何在Tableau

作者: Tableau交流问答群 | 来源:发表于2020-05-27 12:37 被阅读0次

本文搬运自国外Tableau大神原创文章,Tableau交流问答群为国内唯一独家授权组织,未经许可不得转载。

另本文由Tableau交流问答群Tableau爱好者——caiqing对原文进行翻译,若有问题,欢迎讨论。

效果图 Flerlage Twins  Kevin Flerlage(左)和Ken Flerlage(右)

Ken Flerlage:Tableau Zen大师和大使|分析架构师,战略家和传播者|数据分析助理总监

Kevin Flerlage:Tableau Zen Master | Tableau公共大使| TUG的共同负责人| Unifund的高级分析师和Tableau开发人员

英国卫报根据每个测试者的政派倾向绘制了一副可视化的六边形散点图,根据每个人的左右倾向可以快速定位自己在人群中的位置如下图所示:

政派测试分布图

作者受此启发决定在Tableau中绘制六边形散点图,并首先尝试了方法一,但由于无法固定形状尺寸,于是想到了方法二(下图),这样即使调整页面大小,形状大小也将保持不变。

下图左边是Hex六边形散点图,原理是直接在自定义形状中添加“六边形”;下图右边是创建了多边形六角图绘制而成。

效果图

下面就一起来了解下两种方法分别是如何实现的!

方法一:Hex六边形散点图。

数据源

  • 连接数据源《Hex+Scatterplot+Template.xls》中Data工作簿(文末附下载地址)。

创建Bin Size参数

  • 设置数据类型:浮点

  • 当前值:10

  • 显示格式:自动

  • 允许的值范围:1~50

  • 点击确认,如下图所示。

创建Bin Size参数

创建计算字段

(1)Center Y Final

NT([Measure Y]/[Bin Size])*[Bin Size]-IIF([Measure Y]<0,[Bin Size],0)

(2)Measure X Adjusted

IF ([Center Y Final]/[BinSize])%2 = 0 THEN

      [Measure X]+([Bin Size]/2)-1

ELSE

          [Measure X]-1

END

(3)Measure X Bin

NT([Measure X]/[Bin Size])*[Bin Size]-IIF([Measure X]<0,[Bin Size],0)

(4)Measure Y Bin

NT([Measure Y]/[Bin Size])*[Bin Size]-IIF([Measure Y]<0,[Bin Size],0)

(5)Measure X Bin Adjusted

IF ([Center Y Final]/[BinSize])%2 = 0 THEN

        [Measure X]+([Bin Size]/2)-1

ELSE

        [Measure X]-1

END

(6)记录数计算字段公式

1

设置行列项

• 行添加维度“Measure X Bin Adjusted”,列添加维度“Measure Y Bin“。

设置行列项

设置标记栏

• 在标记栏中,计算字段“记录数“添加颜色、编辑颜色;“记录数”度量设置“总和”,形状选择“六边形”。

设置标记栏

设置X/Y轴

 • X轴标题更新为“X轴”

 •X轴刻度起点设置为0

 •刻度间隔设置为20

 •Y轴标题更新为“X轴”

 •X轴刻度起点设置为0,刻度间隔设置为50。

 •以上,方法一完成如下图所示。

Hex六边形散点图

方法二:Hex Polygon多边形散点图。

数据源

 • 连接数据源《Hex+Scatterplot+Template.xls》(文末附下载地址)

 •将“model”工作簿联结到“Data”工作簿如下图所示

在联结前需先做预处理

•“Data”工作簿和“model”工作簿各新增一列“记录数“,

•单元格值设置为”1“

•将Data和Model内部联结,联结子句为“记录数”和“记录数(Model)”

创建工作簿内链接

创建参数“Size Adjustment”

• 设置数据类型:浮点

• 当前值:1.324912456

• 显示格式:自动

• 允许的值范围:1~1.5

• 点击确认,如下图所示。

创建Size Adjustment参数

创建参数“Whitespace %”

• 设置数据类型:浮点

• 当前值:0.072536268

• 显示格式:自动

• 允许的值范围:0~0.5

• 点击确认,如下图所示。

创建Whitespace %参数

创建参数“Stretch Factor”

• 设置数据类型:浮点

• 当前值:0.897348674

• 显示格式:自动

• 允许的值范围:0.6~1.4

• 点击确认,如下图所示。

创建Stretch Factor参数

创建计算字段

(1)Angle计算字段公式

CASE [Hex Point ID]

WHEN 1 THEN 33.5

WHEN 2 THEN 90

WHEN 3 THEN 146.5

WHEN 4 THEN -146.5

WHEN 5 THEN -90

WHEN 6 THEN -33.5

END

(2)Radius计算字段公式

IF [Hex Point ID]=2 OR [Hex PointID]=5 THEN

        ([Bin Size]*1)/2*[SizeAdjustment]*(1-[Whitespace %])

ELSE

        ([Bin Size]*1)/2*[Stretch Factor]*[Size Adjustment]*(1-[Whitespace %])

END

(3)Hexagon ID计算字段公式

STR([Center X Final]) +"|" + STR([Center Y Final])

(4)Center X Adj计算字段公式

IF ([Center Y Final]/[BinSize])%2 = 0 THEN

     INT([Measure X Adjusted]/[Bin Size])*[BinSize]-IIF([Measure X Adjusted]<0,[Bin Size],0)

ELSE

     INT([Measure X Adjusted]/[BinSize])*[Bin Size]-IIF([Measure X Adjusted]<0,[Bin Size],0) + [Bin Size]/2

END

(5)Center X计算字段公式

INT([Measure X]/[Bin Size])*[Bin Size]-IIF([Measure X]<0,[Bin Size],0)

(6)Center Y计算字段公式

INT([Measure Y]/[Bin Size])*[Bin Size]-IIF([Measure Y]<0,[Bin Size],0)

(7)Center X Final计算字段公式

[Center X Adj]//+([Center X Adj]*[Horizontal Padding])

(8)Polygon X计算字段公式

[Radius]*COS(RADIANS([Angle]))+[Center X Final]

(9)Polygon Y计算字段公式

[Radius]*SIN(RADIANS([Angle]))+[Center Y Final]

设置行列项

• 行添加维度“Polygon Y”

•列添加维度“Polygon X“,如下图所示。

设置行列项

设置标记栏

• 在标记栏中:计算字段“记录数“添加颜色、编辑颜色;

•“记录数”度量设置“总和”,形状设置为“多边形”;

•计算字段“Hexagon ID”设置为“维度”,添加到“详细信息”;

•维度“Hex Point ID”设置为“离散”;

•计算字段“Center X”和“Center Y”分别添加至工具提示,度量均设置“最大值”,如下图所示。

设置标记栏

方法二完成如下图所示。

Hex Polygon多边形散点图

以下为部分字段解释,方便读者理解和交流:

(1)BinSize和Whitespace %:描述六边形与六边形之间的距离。参数越大,间隔越大。

(2)Size Adjustment:描述六边形面积,参数越大,图形越大。

(3)StretchFactor:描述六边形宽度,参数越大,宽度越大。

(4)Angle和Radius:设置角度和半径使其比一般多边形高一点。

(5)PolygonX:横坐标。

(6)PolygonY:纵坐标。

(7)Hexagon ID:聚合ID值,使得每个多边型位置能够单独定位。

(8)Center X、Center X Adj和Center X Final:用来调整Y轴。

(9)Center Y:用来调整X轴。

(10)CenterY Final:参考Joe Mako算法。

(11)Measure X Adjusted和Measure Y Adjusted:用于微调。

遇到一个问题:

计算字段Center X Final的公式中出现一个未定义的新字段“Horizontal Padding”,不管是public 模版还是原文中都没有对此解释。然而,目前看来对整个作图不存在影响。

[CenterX Adj]//+([Center X Adj]*[Horizontal Padding])

小结:

首先感谢您的阅读,作为Tableau的初级入门者,技术上的表达依然十分有限。如果感兴趣,欢迎一起交流~

《Hex+Scatterplot+Template.xls》Excel数据源下载链接:

https://flerlage-public.s3.us-east-2.amazonaws.com/Hex+Scatterplot+Template.xlsx

Public模板下载链接:https://public.tableau.com/profile/ken.flerlage#!/vizhome/HexbinScatterplotTemplate/HexScatterplot

以下为 Flerlage Twins 兄弟的原文链接:https://www.flerlagetwins.com/2019/09/hexbin-scatterplot.html

Flerlage Twins专题系列其他译文见如下链接:https://www.jianshu.com/nb/42559990

相关文章

网友评论

      本文标题:【Flerlage Twins专题(14)】如何在Tableau

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