0x00 Tableau简介

Tableau是一款定位于数据可视化敏捷开发和实现的商务智能展现工具,可用来实现交互的、可视化的分析和仪表盘应用。

Tableau提供了体验感良好且易用的使用界面,在处理大规模、多维数据时,可以即时从不同角度看到数据呈现的规律。操作简单,大大降低了技术门槛,但其呈现出来的效果却十分优秀。

本文围绕一个使用Tableau进行可视化的实例,介绍了Tableau中一些基础概念和绘图的简单操作,下面一起开始可视化之旅吧~

0x01 奥运会数据集可视化

数据来源:Kaggle"120 years of Olympic history: athletes and results"数据集。

包括athlete_events.csv和noc_regions.csv两个文件,有从1896年雅典奥运会到2016年里约奥运会的每一届奥运会的数据。

athlete_events.csv文件包含15个字段、271116条记录。每一条记录对应一位在一项奥运会项目中参赛的运动员。具体字段及对应含义如下:

  • ID - 运动员ID编号

  • Name - 运动员姓名

  • Sex - 性别

  • Age - 年龄

  • Height - 身高(cm)

  • Weight - 体重(kg)

  • Team - 队伍名称

  • NOC - 国家奥委会编码

  • Games - 奥运会年份和季节

  • Year - 年份

  • Season - 季节

  • City - 主办城市

  • Sport - 体育运动

  • Event - 比赛项目

  • Medal - 获奖情况(金、银、铜、未获奖)

noc_regions.csv描述的是国家奥委会编码与具体的国家(/地区)名称的对应关系。包含3个字段,分别是NOC国家奥委会编码、regions国家(/地区)具体名称及notes备注。

1 数据连接与管理

打开Tableau,会进入到数据源界面,可进行如下几个操作:

数据连接

Tableau可连接Excel、文本文件、JSON文件、空间文件(Shapefile、GeoJSON文件等)、统计文件等多种本地数据源。在连接数据源时,如果仅需要使用部分数据,也可对数据进行筛选。

数据整合

Tableau可对来自不同数据表的数据实现多表合并(行)、多表联接(列)及多个数据源的融合。

行合并通过【新建并集】实现,使用并集合并的表需要有相同的结构,即相同字段数,且相关字段名称和数据类型匹配。

列合并通过【联接】实现,需要选择同名字段作为关联字段,有四种联接类型,即内部、左侧、右侧、完全外部联接,默认是内部联接。

注:在2020.2之后的版本中,数据源使用的数据模型具有两个层:一个逻辑层(在其中关联表),一个物理层(在其中联接或合并表)。更推荐使用【关系】来连接数据,关系是一种更灵活、动态的方式,根据关联字段确定联接可能性,而不创建新的固定表。

数据加载

Tableau有两种加载数据的方式,一是实时连接,从数据源获得查询结果;另一种是数据提取,将数据提取到Tableau数据引擎中进行管理。

将两张表的数据加载至Tableau,会基于NOC字段自动进行连接。在数据源界面可查看前1000行数据,并进行一些重命名、排序等基本操作。数据预处理导入完毕,下面就可以大展身手,正式开始可视化啦!

2 图表绘制

1) 折线图

基于运动员的ID和年份字段,来绘制一个各届参赛运动员数变化的折线图。

新建一个工作表。可以看到如下几个功能区。

数据窗口

导入Tableau的数据会被自动划分为【维度】和【度量】。在连接数据时Tableau会对各个字段评估划分,如果分配与实际情况不符,例如运动员ID被认为是度量,可右键进行转换。

维度通常是分类、时间等定性的离散数据,将其拖放至功能区不会被计算,而会对视图进行分区。度量通常是数值数据,拖放至功能区会默认进行聚合计算(总和、平均值、计数等)。

Tableau支持多种字段类型,维度中包括文本、日期、日期和时间、地理值、布尔值;度量中包括数字、经纬度(当数据包含地理类型名称会自动生成)。

行列功能区

对应X、Y轴数据。

将Year拖至列,运动员ID拖至行,ID被默认为离散类型,生成的图表如下:

下面将ID的类型改为度量→计数(不同),Y轴即为每届奥运会运动员的总人数。但由于原文件夏季奥运会和冬季奥运会数据是混合的,故折线图形状明显异常。

标记卡

Tableau中,定义图表中的形状、颜色、大小、标签等属性,通过标记卡完成。

【颜色】和【大小】会根据放入字段数值相应改变。颜色和大小只能放入一个字段,但是【标签】可放入多个。

【详细信息】会根据拖放的字段对视图细化。

【工具提示】即可“对当光标移到视图某个标记显示的标记信息”的内容进行编辑。

将Season拖至标记卡中的【颜色】,就能看到夏季和冬季的数据分成了两条折线,每个类型对应一种颜色,并自动生成图例,完成了一幅基本的折线图。

对图表标题、颜色、坐标轴标签、坐标轴范围等进行设置,只需点选预览即可。最终效果如下:

同理绘制各届赛事项目数、各界参与国家数折线图。

2) 堆叠面积图

生成过程与折线图基本相同,只需修改图表类型。在Tableau界面右端有一个【智能推荐】按钮,可快速创建基本图形,光标移动到图形上就会显示字段要求。

效果如下:

3) 柱状图/条形图

以绘制奖牌数排名前15国家的得奖情况的柱状图为例。

首先将Medal和Region分别拖入行列功能区,Medal类型改为度量→计数。因为国家数太多,生成的柱状图太长,图表不便于查看,下面基于新建计算字段对显示的国家进行筛选。

计算字段

计算字段是根据数据源字段使用运算符和函数构造公式来定义字段。

运算符支持加减乘除等所有运算符。函数包括数字、字符串、日期、类型转换等各类Tableau自带计算函数。

因为预处理对Medal的空缺值进行了填充,若直接对其进行计数,实际上结果等于“各国参与运动员数”,与期待的“各国奖牌数”不符。故先基于Medal新建一个计算字段Medal_Num。在数据区域Medal上右击创建→计算字段,输入表达式如下,然后对Medal计数即可。

筛选器

筛选器可对全量数据进行筛选,有常规、通配符、条件、顶部四种,可根据各种需要对数据进行筛选。

这里只筛选显示奖牌数前15的国家。将Region拖入筛选器,自动弹出筛选器对话框,选择顶部。按Medal_Num字段,计数,筛选出前15个国家。然后再将国家基于Medal_Num字段降序排序。

将Medal拖入标记卡中的颜色,即可生成堆叠柱状图,其中金银铜及未获奖按不同颜色显示。再将Medal拖入筛选器,选择不显示"No Medal";在筛选器上右键,选择显示筛选器,筛选器就在视图左侧显示。堆叠柱状图效果如下:

各届男女运动员人数柱状图、奥运会奖牌数条形图绘制类似。由于时间跨度长,可添加一个基于Year的筛选器,只展示特定时间区间的数据。

4) 箱线图

箱线图可以反映数据的基本统计特征,包括最大最小、上下四分位数、中位数等。以绘制各届奥运会运动员身高分布的箱线图为例。

将Year和Height分布拖入行列功能区,在视图右侧智能推荐选择箱线图,会得到一些离散分布的线。

需要在菜单分析栏,取消聚合度量,即可生成一幅箱线图。观察到数据集中于图表上部,对纵轴的坐标范围进行设置,还可添加基于性别的筛选器,最终效果如下:

5) 饼图

以男女运动员比例饼图为例。

在标记卡中选择饼图,将字段ID拖入角度,数据类型改为度量→计数(不同),会生成一个圆形,但是还未显示男女比。继续将Sex拖入颜色和标签,添加Year筛选器,效果如下:

3 图表组合、布局

将上面绘制的图表,按照相似主题,组合成仪表板。

仪表板支持在单一面板多个工作表的集合,便于同时比较监测数据,通过添加筛选器、突出显示等操作,还可实现数据的下钻,交互性更强。

在Tableau中,文本、图像、网页、空白都可被当作对象添加至仪表板中。

【布局容器】是仪表板布局的框架,分为水平和垂直两种,用来放置工作表、筛选器、图例、文本等。

【布局方式】有平铺和浮动两者。默认的平铺方式,即所选工作表或对象平行分布,互不遮盖。浮动布局则更为自由,可随意调整对象大小及位置,以实现更好效果。

布局流程一般是,添加布局容器,然后在容器中添加内容,再添加另一布局容器。

下面以各项目运动员分布情况仪表板为例,其余布局类似。

首先新建仪表板,拖入一个水平容器,添加"参与人数前15的运动项目"气泡图,会默认添加气泡图及图例。然后在下面再添加一个水平容器,添加各届男女运动员人数条形图及比例饼图,如下:

注:Tableau布局容器和工作表间的包含、并列关系需要小心琢磨,有时候看似一样的布局结构,但是其背后的布局逻辑却是不相同的。

设置仪表板上筛选器的作用范围,应用于仪表板上的所有表,单一筛选器即可对该仪表板上的所用表进行筛选。

还可对仪表板上的某一工作表"使用筛选器",那么单击该表部分,其余表则会相应显示该部分的数据。如选中"Swimming",那么另外两个图表则会相应显示Swimming项目各届男女运动员参与人数及比例。

4 可视化结果

经过上面一系列简单的图表绘制、组合的操作,主要围绕奥运会总体情况概览、奖牌总数前15名国家情况、各项目运动员分布情况、运动员身体情况四个主题来创建仪表板,就可以得到以下结果啦!

a. 总体情况概览

b. 奖牌总数前15名国家情况

c. 各项目运动员分布情况

d. 运动员身体情况

0x0F 总结

Tableau对数据的管理、呈现类似Excel中的数据透视表,操作简单、易上手,仅需要拖拽字段就可进行可视化分析,效果美观,因此广受欢迎。

本文仅介绍了最基础的部分,实际上Tableau还可进行创建分组、集、聚类分析、回归分析、时间序列等高级操作,大家可以继续探索学习~

其官网提供了丰富的学习资源,对初学者非常友好。不仅如此,学习的另一途径就是模仿优秀作品,Tableau还拥有活跃的、高质量的社群,各路可视化大神都会在上面交流分享自己的作品,对我们开拓思路、精进可视化效果都有很大帮助。

注:本文的Tableau工作簿已经上传至Tableau Public,感兴趣的朋友可以前往查看~

网址:https://public.tableau.com/profile/meetywy#!/vizhome/120yearsofOlympichistory_16069878256050/120yearsofOlympichistory

tableau对120年的奥运数据可视化分析相关推荐

  1. Tableau数据分析数据可视化分析平台

    Tableau数据分析&数据可视化分析平台 ​ 本文章内涉及的资源包以及素材均来自于互联网,仅供大家用来交流学习与研究使用,努力提升自己的一篇文章.各类安装包以及素材版权归属原版权方所有,版权 ...

  2. GIS大数据可视化分析工具

    俗话说的好:工欲善其事,必先利其器!一款好的工具可以让你事半功倍,尤其是在大数据时代,更需要强有力的工具通过使数据有意义的方式实现数据可视化,还有数据的可交互性:我们还需要跨学科的团队,而不是单个数据 ...

  3. GIS+=地理信息+大数据技术——GIS大数据可视化分析工具

    题记 俗话说的好:工欲善其事,必先利其器!一款好的工具可以让你事半功倍,尤其是在大数据时代,更需要强有力的工具通过使数据有意义的方式实现数据可视化,还有数据的可交互性:我们还需要跨学科的团队,而不是单 ...

  4. 数据图表与分析图_史上最全最实用的数据可视化分析图表制作工具汇总

    俗话说的好:工欲善其事,必先利其器!一款好的工具可以让你事半功倍,尤其是在大数据时代,更需要强有力的工具通过使数据有意义的方式实现数据可视化,还有数据的可交互性;我们还需要跨学科的团队,而不是单个数据 ...

  5. TableauBDP,哪个才是最适合中国用户的数据可视化分析工具?

    作者:pledge 本人数据分析师一枚,除了工作所需,自己对数据分析.数据可视化的产品工具都比较感兴趣,喜欢混迹于各种数据论坛,也发现和使用了不少数据工具,也积累了很多亲身经历.这两年数据可视化在国内 ...

  6. Pandas数据分析案例(盛华化工锅炉排放数据可视化分析)

    Pandas数据分析案例(盛华化工锅炉排放数据可视化分析) 实验环境 数据集介绍 问题描述 实验步骤 一.数据导入与观察 二.数据转换 三.数据可视化分析 相关资源 实验环境 操作系统:Linux/W ...

  7. 数据可视化分析工具如何在国内弯道超车,迅速崛起?

    什么是数据可视化 数据可视化:Data Visualization,即视觉传达,为了清晰有效地传递信息,数据可视化通过统计图形.图表.信息图表和其他工具,例如点.线或条对数字数据进行编码,以便在视觉上 ...

  8. 最实用大数据可视化分析工具

    近年来,随着云和大数据时代的来临,数据可视化产品已经不再满足于使用传统的数据可视化工具来对数据仓库中的数据抽取.归纳并简单的展现.传统的数据可视化工具仅仅将数据加以组合,通过不同的展现方式提供给用户, ...

  9. 数据可视化分析教学课件——FineBI实验册节选====库存分析

      数据可视化分析课程教学,0基础也能掌握,本节讲述的是电子商务及商务数据分析等专业的数据可视化分析案例:库存分析 a.实验背景   我们经常听管理人员抱怨库存太多,其实高库存大多时候是企业" ...

最新文章

  1. c语言实现将字符串首尾*删除,C语言实现Trim()函数:删除字符串首尾空格。...
  2. JS forEach()与map() 用法(转载)
  3. eclipse/myeclipse高亮显示相同变量名 .
  4. 程序一启动检查网络,如果没有网络就退出程序
  5. 习题6-2 使用函数求特殊a串数列和 (20 分)
  6. Java加密与解密的艺术~DESede实现
  7. 如何对oracle数据库进行监控检查
  8. java流意外结束_java – POI – null之后的文件意外结束
  9. 性能强大的家庭服务器,家庭服务器解决方案——硬件篇
  10. 2022年简历石沉大海,软件测试行业当前找工作有多难?
  11. 蒲公英——APP内测分发平台
  12. 人工智能科技如何为航空业“保驾护航”?
  13. VSCode撸猫插件vscode-cats它来了,一起来云撸猫吧
  14. IE浏览器十大进化史 盘点微软IE1到IE10辉煌历程(转)
  15. vue为什么要用脚手架?
  16. poscms基础问题汇总
  17. keras中的early stopping
  18. SpringBoot指标监控
  19. matlab画三维函数参数方程,如何在matlab中绘制含有三个参数方程的三维图形
  20. Android群英传笔记——第九章:Android系统信息和安全机制

热门文章

  1. 室内定位UWB在化工园区如何智能化管理
  2. Juniper SRX Junos升级
  3. LaTex输入中文英文混排[overleaf]
  4. 《电路分析导论(原书第12版)》一导读
  5. (8.1.5.4)Android Testing Support Library翻译之Espresso 备忘录
  6. 关于农业生态链平台的杂想
  7. DevExpress表格控件(GridView、GridControl)使用小结
  8. 408计算机先学哪个,408计算机考研视频课哪个好
  9. Activity启动模式singleInstance
  10. 中大华工计算机分数,中大华工部分专业分数线猛涨