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

·················END·················

推荐阅读

  1. 说说心里话

  2. 写给所有数据人。

  3. 从留存率业务案例谈0-1的数据指标体系

  4. NB,真PDF神处理工具!

  5. 超级菜鸟如何入门数据分析?

欢迎长按扫码关注「数据管道」

大数据可视化案例分析_Tableau数据可视化分析案例相关推荐

  1. python科学坐标系绘制分析_python数据可视化案例——平行坐标系(使用pyecharts或pandas)...

    平行坐标是可视化高维几何和分析多元数据的常用方法. 为了在n维空间中显示一组点,绘制由n条平行线组成的背景,通常是垂直且等距的.所述的点N 维空间被表示为折线与顶点在平行的轴线: 第i 轴上顶点的位置 ...

  2. 大数据可视化分析以及预测性分析方法

    摘要:大数据分析要实现的应用领域之一就是预测性分析,可视化分析和数据挖掘都是前期铺垫工作,只要在大数据中挖掘出信息的特点与联系,就可以建立科学的数据模型,通过模型带入新的数据,从而预测未来的数据. 大 ...

  3. 基于Python的微博大数据舆情分析,舆论情感分析可视化系统

    运行效果图 基于Python的微博大数据舆情分析,舆论情感分析可视化系统 系统介绍 微博舆情分析系统,项目后端分爬虫模块.数据分析模块.数据存储模块.业务逻辑模块组成. 先后进行了数据获取和筛选存储, ...

  4. 【【数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩】-哔哩哔哩】 https://b23.tv/iTt30QG

    [[数据可视化毕业设计:差旅数据可视化分析,python爬虫可视化/数据分析/大数据/大数据屏/数据挖掘/数据爬取,程序开发-哔哩哔哩]-哔哩哔哩] https://b23.tv/iTt30QG ht ...

  5. 毕设 - 大数据用户画像分析系统 - 数据分析可视化

    文章目录 0 前言 2 用户画像分析概述 2.1 用户画像构建的相关技术 2.2 标签体系 2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析 3.1 数据格式 3.2 数据预处理 3. ...

  6. 数据可视化分析票房数据报告_票房收入分析和可视化

    数据可视化分析票房数据报告 Welcome back to my 100 Days of Data Science Challenge Journey. On day 4 and 5, I work ...

  7. 使用Power BI Desktop可视化分析冠状病毒数据

    This article gives you an overview of representing coronavirus spread using Power BI Desktop visuali ...

  8. 大数据课程综合实验案例:网站用户行为分析

    大数据课程综合实验案例 1 案例简介 1.1 案例目的 1.2 适用对象 1.3 时间安排 1.4 预备知识 1.5 硬件要求 1.6 软件工具 1.7 数据集 1.8 案例任务 1.9 实验步骤 2 ...

  9. uber 数据可视化_使用R探索您在Uber上的活动:如何分析和可视化您的个人数据历史记录

    uber 数据可视化 Perhaps, dear reader, you are too young to remember that before, the only way to request ...

最新文章

  1. asp.net 一次性提交大量数据,服务器会报错,要在 web.config 中设置一下
  2. selenium+python中,框架中,怎么返回上一个菜单
  3. 2020暨阳学院园林计算机考研考场,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  4. 使用jQuery queue(队列) 遇到的问题及解决方案
  5. 缺失值填充4——使用线性模型(岭回归、Lasso回归、ElasticNet回归)填充序列缺失值
  6. express html页面,Express使用html模板
  7. 苹果说:没错,我就是故意让旧 iPhone 变慢的!
  8. 局域网助手 LanHelper 简体中文版
  9. kafka内外网连接问题
  10. 如何清除本地计算机搜索记录,怎么深度清理电脑使用痕迹?
  11. Android和风SDK,Android 和风天气SDK获取天气
  12. vue项目引入typescript(vue与ts混用)
  13. Apache Druid安装部署手册
  14. 苹果手机上滑动会卡顿_7种办法解决苹果手机卡顿 让你的手机用起来如丝般顺滑...
  15. Crontab中的除号(slash)到底怎么用?
  16. stm8程序无法写入c语言,[转载]STM8 PWM例程
  17. 人员管理页面html,钉钉网页版登录入口,HR全模块功能进行员工管理
  18. el-tree树形组件拿到所有复选框选中的值
  19. LightOJ 1140 - How Many Zeroes? 数位DP
  20. 浏览器自动注入js脚本

热门文章

  1. Java Swing专栏订阅须知《必读》
  2. Java Springboot+VUE前后端分离网上手机商城平台系统设计和实现以及论文报告
  3. ENSP配置 实例八 三层交换机DHCP配置加VLAN划分实验
  4. android content item,Android中ContentProvider的应用实例
  5. hp服务器装xp系统,教你惠普笔记本一键装xp系统的方法
  6. 加载gif_搞笑gif:这啥情况啊?笑容加载不出来了?
  7. java创建线程几种_java中创建线程有几种方式
  8. Java自动类型转换和强制类型转换
  9. 第二批鸿蒙手机排行,鸿蒙系统第二批升级机型有哪些 鸿蒙系统第二批升级机型名单一览...
  10. 用python祝福父亲节_父亲节给爸爸的祝福语微信48条