工作簿在此:Tableau Public: Marvel_SuperHeros

这次主要挑战了一下Tableau制作雷(zhen)达(ma)图(fan)和放射条形图!!! 不过还是硬着头皮死磕到底。。。所幸最后总算成功了,效果还算满意~~~

整个流程分三步: 观察数据 > 数据预处理 > 可视化

一、观察/理解数据

总共5个字段【Name】【Attribute】【Name】【Gender】【Value】

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 180 entries, 0 to 179
Data columns (total 6 columns):
Name              180 non-null object
Attribute Name    180 non-null object
Gender            180 non-null int64
Value             180 non-null int64
dtypes: float64(1), int64(3), object(2)
memory usage: 8.5+ KB df.Name.describe()
count                 180
unique                 30
top       Captain America
freq                    6
Name: Name, dtype: object#Attribute Name中的唯一值
df['Attribute Name'].unique()
array(['Agility', 'Fighting Skills', 'Height', 'Intelligence', 'Speed','Strength'], dtype=object)

二、数据预处理

数据没有大问题,跳过数据清洗阶段,直接进入数据加工阶段,这一阶段主要就是进行数据计算,对“Value”这一度量进行标准化处理。

常见的标准化方法有:min-max标准化(Min-max normalization),log函数转换,atan函数转换,z-score标准化(zero-mena normalization,此方法最为常用),模糊量化法。本文只介绍min-max法(规范化方法)。

极差标准化法,是消除变量量纲和变异范围影响最简单的方法。 具体的操作方法为:首先需要找出该指标的最大值(Xmax)和最小值(Xmin),并计算极差(R = Xmax - Xmin),然后用该变量的每一个观察值(X)减去最小值(Xmin),再除以极差(R),即:X' = (X-Xmin) / (Xmax-Xmin)

经过极差标准化方法处理后,无论原始数据是正值还是负值,该变量各个观察值的数值变化范围都满足0≤X'≤1,并且正指标、逆指标均可转化为正向指标,作用方向一致。但是如果有新数据加入,就可能会导致最大值(Xmax)和最小值(Xmin)发生变化,就需要进行重新定义,并重新计算极差(R)。

三、可视化

Tableau雷达图的制作可以参考这里:用Tableau画雷达图

放射条形图可以参考这个:用花型射线图 Radial Chart 对比数据

磨刀不误砍柴功——弄清楚基本概念

有时候总是觉得为什么tableau这么复杂,有些图表连excel都超容易出。很多时候发现自己都在凭感觉作图,而事实上却连最基本的概念“维度”,“度量”,“连续”,“离散”都还没搞清楚。所以,磨刀不误砍柴工,我还是决定自己一边详细地理一理概念,一边总结一下制作步骤。

雷达图 你看的的雷达图不只是一张图,其实是由三张工作表叠加而成

1、同心六边形

构建六边形,关键在于要在直角坐标系中确定六边形6个顶点的位置。 其实就是一道数学题:已知圆心(x0,y0),半径r,角度a,求圆上的点坐标:假设圆上任一点为(x1,y1),则 x1 = x0 + r * cos( a ) y1 = y0 + r * sin( a )

所以在这里我们可以:
-圆心默认为直角坐标系原点(0,0);
-六边形外接圆半径[R]可以自定义;
-6个顶点在圆上的角度分别为:0',60',120',180',240',300',360'
-6个顶点的直角坐标就可以根据以上数据在Tableau中创建以下两个计算字段求得:
· [sin]=SIN([point]PI()/180)[R] · [cos]=COS([point]PI()/180)[R]

  • 构造数据集

根据以上思路,就可以构造创建同心六边形的数据集了,最终的同心六边形完整的数据集如下图

  • Tableau拖拉拽进行曲

把sin和cos两个度量拖到视图上,出来两个坐标轴和一个点,为什么?

官方文档: 当您第一次连接到数据源时,Tableau 会将包含离散分类信息的任何字段(例如,值为字符串或布尔值的字段)分配给“数据”窗格中的“维度”区域。 当您单击并将字段从“维度”区域拖到“行”或“列”时,Tableau 将创建列或行标题。 当您第一次连接到数据源时,Tableau 会将包含定量数值信息的任何字段(即其中的值为数字的字段)分配给“数据”窗格中的“度量”区域。 当您将字段从“度量”区域拖到“行”或“列”时,Tableau 将创建连续轴。

所以那一点代表了所有点聚合的结果,当然这里我不想要它们聚合,所以这里需要右击sin和cos将其设置成维度。 先将cos设置成维度,可以发现视图发生了变化

再将sin设置成维度,视图再一次发生了变化,也离同行六边形越来越近了

接下去试着把标记类型改为线条,可以发现所有的点都被视为一个对象连成了一条线

而我们需要的其实是5条独立的线组成的5个六边形,这时候把[六边形]维度拖到标记里,来对每一组顶点予以区分,得到的结果如下图,确实产生了5组独立的连线,但是点之间连接的顺序还有些问题

记得在开始创建数据时有一个[point]字段,依此记录了每一个点的角度值,将它作为标记的路径拖进来,可以看到[point]默认为聚合,所有点又连成了一个整体

最后一步:将[point]设置为维度,要构造的同心六边形就形成啦~

针对度量和维度,我们了解了基础概念,同时特别要注意的点: -离散字段创建标题、连续字段创建连续轴 -辨别视图中的字段是度量还是维度的依据在于该字段是否已聚合 -维度和度量是可以相互转化的 -离散字段和连续字段也是可以相互转化的 -维度/度量和离散/连续不是必然对应的

2、放射线 先看一下最终成图和完整的数据集

3、面积图

开始造吧!

目标依旧是计算得到每个点的直角坐标

  • 创建计算字段

确定径向角:

[Angel]=(INDEX()-1) * (1/WINDOW_COUNT(COUNT([Radial Field])))*2*PI()

注:这里的[Radial Field]可以根据不同的可视化项目代入不同数据,这里我们要用到之前我们标准化处理后的能力值[Value_N*100]

确定半径:

[radial normalized length]=[Radiul Inner]+IIF(ATTR([Path])=0,0,SUM([Radiul Field])/WINDOW_MAX(SUM([Radiul Field])) * ([Radiul Outer]-[Radiul Inner]))

参数:[radial inner]、[radial outer]

这个应该算是增强版的径向长度通用计算公式,和之前的半径计算公式

[R]=IIF(ATTR([内外环])= 0, 0, SUM([数值])/WINDOW_MAX(SUM([数值])))是一个原理,只是增加了两个参数内径和外径,更适用于放射条形图~

弄懂原理以后,自己可以简化一下,比如:

[radial normalized length]=SUM([Radiul Field])/WINDOW_MAX(SUM([Radiul Field]))

计算(x,y)

[radial x]=[radial normalized length]*COS([Radial Angel])

[radial y]=[radial normalized length]*SIN([Radial Angel])

  • 接着进行拖拉拽

基本可以参考前面创建六边形的步骤啦

差不多了,啰啰嗦嗦到此为止~

tableau度量值计算_Tableau可视化(雷达图):漫威英雄能力值相关推荐

  1. tableau度量值计算_Tableau 基础 | 表计算函数

    才发现,一不小心写了这么多篇表计算主题的文章了: 但是呢,表计算博大精深,还会持续研究下去的. 开始研究表计算(Table Calc)的内容了,总觉得官方的help稍微有些不符合学习理解的规律 表计算 ...

  2. tableau度量值计算_Tableau图表界面组成介绍

    声明:内容来源拉勾教育数据分析训练营课程视频 1 Tableau工作表基本界面 基础概念:维度.度量.聚合.粒度. 维度: 维度包含定量值(例如名称.日期或地理数据),可以使用维度进行分类.分段以及揭 ...

  3. python使用matplotlib可视化雷达图(polar函数可视化雷达图、极坐标图、通过径向方向来显示数据之间的关系)

    python使用matplotlib可视化雷达图(polar函数可视化雷达图.极坐标图.通过径向方向来显示数据之间的关系) 目录

  4. R语言使用fmsb包、gradar包可视化雷达图(radar chart、蜘蛛图spider plot)、ggpubr包可视化点图、GGally包可视化多变量的平行坐标轴图

    R语言使用fmsb包.gradar包可视化雷达图(radar chart.蜘蛛图spider plot).ggpubr包可视化点图.GGally包可视化多变量的平行坐标轴图 目录

  5. R可视化雷达图(Radar Charts)

    R可视化雷达图(Radar Charts) 目录 R可视化雷达图(Radar Charts) R中的基本雷达图 R自定义雷达图

  6. 智能数据可视化-雷达图的使用方法

    在进行数据报表综合评价分析时,往往涉及很多指标,需要将指标与参照值一一比较,往往会顾此失彼,难以得出一个综合的分析评价.这时便借助数据可视化图-雷达图. 雷达图是专门用来进行多指标体系比较分析的专业图 ...

  7. 网络篇 OSPF度量值计算-43

    OSPF度量值计算 默认情况下,思科路由器根据接口的带宽来计算OSPF的开销,带宽越高,开销就越低.默认情况下计算的公式为:OSPF度量值=100/接口带宽(接口带宽以Mbit/s为单位)或者OSPF ...

  8. pbi 度量值计算列+日期表+层次结构+数据分组+交互式分析+横向纵向可视化选择+轴、图例、值拖拽

    目录 一.度量值和计算列 二.日期表 三.层级结构 1.直接拖 2.创建层次结构 四.数据分组 1.知晓分组规则 2.不知晓分组规则 五.交互式分析 1.第一个按钮 无,不与其它图形进行交互 2.层次 ...

  9. [数据可视化] 雷达图(Radar)

    雷达图介绍 雷达图(Radar),也称为蜘蛛网图,其将多个维度的数据映射到坐标轴上,可以展示出各个变量的权重高低情况,非常适合展示性能数据比较,可以很好的刻画出某些指标的横向或纵向的对比关系 功能:对 ...

最新文章

  1. CMU赵越 关于异常检测的分享!
  2. ATLAS入门篇之HoverMenuExtender控件编程(2)
  3. XML文档类型定义DTD
  4. 常见的Java WEB服务器
  5. 工业用微型计算机(18)-指令系统(13)
  6. ai外呼营销系统_为了让居民预约口罩少出门,长宁这个街道使用AI技术智能语音外呼系统...
  7. 计算机控制pid控制实验,计算机控制实验三数字PID调节器算法的研究
  8. 硅谷VC想对CIO说这些
  9. dmv io读写高的sql_适用于DBA的前8大新(或增强)SQL Server 2017 DMV和DMF
  10. BZOJ.3648.寝室管理(点分治 树状数组)
  11. C++ 无限for循环的bug
  12. Delphi 正则表达式TPerlRegEx : Split 函数
  13. ruby rails
  14. 大厂硬件技术二面的题目
  15. Overture教程之如何更改整首谱子的调号
  16. 大卫 异星觉醒 机器人_《异星觉醒》披着科幻外衣的老套惊悚片
  17. 三菱PLC GXWORKS编程之1新建
  18. illustrator插件-拼版功能开发-一键拼版-js脚本开发-ai插件
  19. 牛客-二叉树层序遍历
  20. java异常判断_Java异常类

热门文章

  1. 基于JAVA+SpringMVC+Mybatis+MYSQL的眼镜店仓库管理系统
  2. php70w mysql.x8664_LAMP环境的搭建(三)----PHP7的安装
  3. vue-router vue路由
  4. codeforces 719A Vitya in the Countryside(序列判断趋势)
  5. ora optimizer
  6. [转] Linux C语言 段错误bug的调试
  7. as3中的 override
  8. 数据分析20大基本分析方法技术总结【分析目的、分析案例、分析方法与思路】
  9. Python中的枚举类型及其用法
  10. Python模拟决赛现场最终得分计算过程