Tableau可视化—复杂图形绘制实战updating

目录

1、雷达图 

2、 箱线图/盒须图

3、 圆环图

4、南丁格尔玫瑰图 

5、蝴蝶图

6、帕累托图

7、瀑布图

1、雷达图 

前期准备:描述产品或者用户多维度的数据

感觉Tableau画雷达图比其他可视化软件相对要复杂些,雷达图本身的背景(多个半径等差的同心圆转换得到的多边形)也是需要我们自己去画的,所以就需要另外画多个多边形图。

1.1 选中量化的变量数据,创建数据透视表

1.2  这里是关键步骤,但是理解原理还是需要数学知识的

创建数据透视表后会出现两个字段:数据透视表字段名称,数据透视表字段值,如果会编程经验的会发现这是一个宽数据变长数据的操作(gather到spread)

需要创建四个通过计算得到的变量:路径、弧度、数据字段标签、数据值标签

1.2.1路径:衡量的指标的在雷达图的各个顶点放置顺序(个人理解),增加的路径(变量数+1)为了使得雷达图连线闭合(在网上看了很多解释,也没有说的十分透彻的,但是验证后会发现确实是这样),这个路径是为了将多个同心圆的半径顶点用直线连接起来,这样就形成了一个多层多边形,而不是多层同心圆。

路径:

CASE [数据透视表字段名称] 
WHEN "购买频率" THEN 1
WHEN "平均交易额" THEN 2
WHEN "最高交易额" THEN 3
WHEN "购买商品种类" THEN 4
WHEN "浏览次数" THEN 5
WHEN "单次浏览时长" THEN 6
ELSE 7   #这个就是增加的路径,使得雷达图闭合
END

1.2.2 弧度:这个的计算逻辑还没有查清,网络上都说的确定x、y,但很模糊,还没查到相关准确资料,但是可以根据公式给出需要的图形,根据实践后,这个弧度确定了指标对应值的位置方向,这里需要懂一点极坐标系的知识。

图源:百度百科

 

弧度:

if [路径]=7 then pi()/2
else pi()/2-([路径]-1)*2*pi()/6
end

1.2.3 计算X、Y轴:这个应该比较好理解,数据值*cos弧度的结果为这条极径的长度(相当于对应指标在这方面的一个衡量值的大小表示)

X=[数据透视表字段值]*COS([弧度])

Y=[数据透视表字段值]*sin([弧度])

1.2.4 数据、指标标签:

指标标签:容易理解,每个标签需要位于雷达图的各个角顶点,所以只有利用最外层圆(最外层多边形)进行标签,当数据透视表值为最外层圆半径值时,将其赋值为数据透视表字段名称,即为指标名称。

IF  [数据透视表字段值]=10 THEN [数据透视表字段名称]
END

 1.2.5 作图,这里面的有些步骤在网上、tableau的一些资料里面都没有明确写出说明,可能是tableau基础知识不牢固。

顺序依次为:

①X、Y分别放入列、行,且X、Y的标记需要更改为线,注意的是需要设置双轴,则Y要复制一次,并在下拉选项中选择双轴;

②将路径、测试的对象列(如:用户A、用户B、用户C的列)分别放入标记块的路径、颜色中;

③数据值标签、指标标签放入标签中。这里面有一步骤在tableau菜单中分析选项的取消聚合变量,理解有些模糊。

2、 箱线图/盒须图

说实话,tableau话这个是真的丑,也可能本编技术还没熟透。

分别把两个变量放入列、行,至于标记怎么改,试一试就知道了,最终只有圆合适。智能显示那里选盒须图就OK了。

 

3、 圆环图

这个东西之前做的时候还是用两个图去拼的,看来是基础知识忘得太多了,不过不怕,本编快速学习就搞定,网上搜索资料了马上搞定。

按照常规做法画一个饼图

接下来就是重点

将度量变量中的记录数放入行中,要double哦,原因是需要设置双轴,来重合两个不同大小的饼图。

这时候会出现两个相同的饼图,需要做的是将其中一个饼图颜色改为白色,并改变其大小;

下一步就是点击记录数坐标轴选择双轴,这样就可以完成圆环图的制作了哦。

有点丑,随便弄得数据,不准吐槽。

4、南丁格尔玫瑰图 

4.1 创建数据桶,数据中需要的变量有离散字段及对应值、path(用来创建数据桶),这里需要两组数据:离散字段,对应值,path(数据桶最小值);离散字段_副本,对应值,path(数据桶最大值)。

数据桶这个名词的含义有点模糊,查到资料解释是:任何离散字段都可被认为是一组数据桶。用户、评分组成的一个数据表,每个离散字段(用户)对应的值(评分)会按照数据桶进行分类,该数据桶与里面记录值的离散字段对应。

对于数据桶值的大小可以根据下面这个公式来确定,创建数据桶时候会默认给出建议的数据桶大小

计算最佳数据桶大小:Number of Bins = 3 + log2(n) * log(n)(n:数据中不同行的数量,每个数据桶大小通过将最大、最小值之间的差除以数据桶数来确定)

4.2 创建各个参数

计算参数名公式说明
Count  INDEX()计算玫瑰片数(扇形个数)
Number of Slices  WINDOW_MAX([Count])计算玫瑰片数(扇形个数)
Index   INDEX()计算X和Y轴
Angle    ([Edges]-1)*(2*PI()/WINDOW_MAX([Edges]))计算弧度
Edges INDEX()计算弧度
Radius            SQRT(AVG([评分])/PI())  计算半径
X轴IIF([Index]=1 OR[Index]=WINDOW_MAX([Index]),0,WINDOW_MAX([Radius])
*COS([angle]+((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*10)))))
这里的10是将每个扇形被分成10等份
Y轴IIF([Index]=1 OR[Index]=WINDOW_MAX([Index]),0,WINDOW_MAX([Radius])
*SIN([angle]+((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*10)))))
这里的10是将每个扇形被分成10等份

 

4.3 作图:将X、Y放入行、列中,离散字段(购买力)放入标记的颜色、详细信息中,path(数据桶)放入路径;在X、Y的下拉选择中选择表计算,X、Y中的表计算做同样操作:X/Y、index计算依据更改为path数据桶,其余选择为购买力(此处为该字段)

 

不要问我这个是啥,我也不知道,啊啊啊 

5、蝴蝶图

5.1 在同一个工作表实现,将两个数值字段放入列中、离散(如:类别)字段放入行中,接下来就是将左侧的数值字段轴更改为倒序,这样好像太丑了。

于是换一种去掉左侧标题,在两个数值字段中间加入标题,创建一个0轴(中间轴=AVG(0))将其放在两个字段中间,其次将该轴的标记方式更改为文字,最后添加需要作为标题的字段放入标记中。

5.2 在仪表板中拼接实现 ,这个就很简单,画两个水平条形图进行整合就ok

6、帕累托图

这个图重要的就是累计百分比图的设计:两种方式:创建计算字段(累计百分比:RUNNING_SUM(SUM([number_of_reviews])/TOTAL(SUM([number_of_reviews]))));直接在字段下拉菜单操作:

 

7、瀑布图

 

 

 

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LEEBELOVED

一分钱都是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值