漫谈数据可视化

2018 年 10 月 20 日 R语言中文社区


作者简介

张杰,EasyCharts团队成员,R语言中文社区专栏作者。

公众号:EasyCharts





数据可视化的定义

数据可视化(DataVisualization)是关于数据之视觉表现形式的研究;其中,这种数据的视觉表现形式被定义为一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。

数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。为了有效地传达思想概念,美学形式与功能需要齐头并进,通过直观地传达关键的方面与特征,从而实现对于相当稀疏而又复杂的数据集的深入洞察。

南丁格尔玫瑰图的故事

19世纪50年代,英国、法国、土耳其和俄国进行了克里米亚战争,英国的战地战士死亡率高达42%。弗罗伦斯·南丁格尔主动申请,自愿担任战地护士。她率领38名护士抵达前线,在战地医院服务。当时的野战医院卫生条件极差,各种资源极度匮乏,她竭尽全力排除各种困难,为伤员解决必须的生活用品和食品,对他们进行认真的护理。仅仅半年左右的时间伤病员的死亡率就下降到2.2%。每个夜晚,她都手执风灯巡视,伤病员们亲切地称她为“提灯女神”。战争结束后,南丁格尔回到英国,被人们推崇为民族英雄。

出于对资料统计的结果会不受人重视的忧虑,她发展出一种色彩缤纷的图表形式,让数据能够更加让人印象深刻。这种图表形式有时也被称作「南丁格尔的玫瑰」,是一种圆形的直方图。南丁格尔自己常昵称这类图为鸡冠花图, 并且用以表达军医院季节性的死亡率,对象是那些不太能理解传统统计报表的公务人员。她的方法打动了当时的高层,包括军方人士和维多利亚女王本人,于是医事改良的提案才得到支持。

数据可视化的目标

可视化的终极目标是洞悉蕴含在数据中的现象和规律,这包括多重含义:发现、决策、解释、分析、探索和学习。

      可视化对数据分析至关重要。它是进行数据分析的第一个战场,可以揭示出数据内在的错综复杂的关系,在这一点上可视化的优势是其它方法无可比拟。“我们寻找意想不到的发现,我们挑战料想之中的观点。”

—威廉·克利夫兰(WilliamS. Cleveland) 《VisualizingData》作者


常用的数据可视化软件主要包括以下四种类型,其中Excel、Power BI和Tableau为商业用、无需编程的绘图软件;Origin、Sigmaplot和GraphPad为学术用、无需编程的绘图软件;R、Python和Matlab为需要编程的软件;Echarts、plotly和D3.js为实现web网页交互可视化的库。

常用的数据可视化软件主要包括以下四种类型,其中Excel、PowerBI和Tableau为商业用、无需编程的绘图软件;Origin、Sigmaplot和GraphPad为学术用、无需编程的绘图软件;R、Python和Matlab为需要编程的软件;Echarts、plotly和D3.js为实现web网页交互可视化的库。


乎所有人都知道这款软件。MicrosoftExcel是微软公司的办公软件Microsoftoffice的组件之一,是由Microsoft为Windows和AppleMacintosh操作系统的电脑而编写和运行的一款试算表软件。Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。Excel能实现大部分二维图表的绘制与基础的数据处理与分析,具体可以参考学习《Excel数据之美:科学图表与商业图表绘制》。本书的具体介绍请查阅前文:

《Excel 数据之美--科学图表与商业图表的绘制》上市啦



TableauSoftware致力于帮助人们查看并理解数据。Tableau帮助任何人快速分析、可视化并分享信息。超过42,000家客户通过使用Tableau在办公室或随时随地快速获得结果。数以万计的用户使用TableauPublic 在博客与网站中分享数据。

官方网站:https://www.tableau.com/zh-cn/products/desktop



PowerBI是微软官方推出的可视化数据探索和交互式报告工具,同时有PowerQuery、PowerQivot、PowerView、PowerMap四大组件,分别用于数据导入、数据模型管理、数据展现。我们可以方便的从多种数据源导入数据,使用Dax创建计算字段,创建多种样式的交互式图表,并发布共享。如果你电脑上还没有Excel2016,大家可以先下载一个PowerBI桌面版试玩,官网上就有免费下载链接:https://powerbi.microsoft.com/en-us/desktop/



Python是一种面向对象的解释型计算机程序设计语言。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。Python语言也有一系列的数据可视化包(packages),包括Pandas、Matplotlib、Seaborn、ggplot、Bokeh、Pygal等(可参考http://pbpython.com/visualization-tools-1.html)


相较于其他的所有软件,R的优势之一在于它是专为数据分析而设计的。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R语言有一系列的数据可视化包(packages),包括ggplot2、lattice、leaflet、playwith、atticist、iplots、ggvis、ggmaps,以及很流行的ggplot2包(两本关于ggplot2的经典书籍:《ggplot2Elegant Graphics for Data Analysis》和《R.Graphics.Cookbook》),

ggplot2包的官网:http://docs.ggplot2.org/current/;

ggplot2extensions拓展包的官网:http://www.ggplot2-exts.org/index.html

另外,R还提供了部分地图功能,地区数据分析(http://cran.r-project.org/web/views/Spatial.html)提供了有关地区分析的综合性R工具包列表。地理统计制图实用指南(http://spatial-analyst.net/book/download)提供了关于如何使用R及其他工具分析空间数据的可免费下载的电子书。


数据可视化主要包括六大类:类别比较、数据关系、数据分布、局部整体、时间序列和地理空间,且不同类别间可能有共同重合的图表类型。其中,数据关系型图表包括变量间相关、变化、连接、层次等不同关系的图表。但是该手册并没有包囊括所有的图表类型,还可能存在许多新型的数据可视化方法。

虽然本图表集可以指导读者选择图表类型,但是你的想象力更帮助你确定更有效的数据可视化方法。具体可以参考文章:

国内首款-数据可视化参考手册:专业绘图必备

最全的Excel图表的基本类型与选择

国外专家Nathan Yau总结了在数据可视化的过程中,一般要经历的四个过程,如下图所示(我做了适当的修改)。不论是商业图表还是科学图表,要想得到完美的图表,在这四个过程中都要反复进行思索。

1.你拥有什么样的数据?(Whatdata do you have?)

2. 你想表达什么样的数据信息?(What do you want to knowabout your data?)

3. 你会什么样的数据可视化方法?(What visualizationmethods should you use?)

4.你从图表中能获得什么样的数据信息?(What do you see and doesit makes sense?)



类别比较

类别比较型图表的数据一般包含数值型和类别型两种数据类型,比如在柱形图中,X轴为类别型数据,Y轴为数值型数据,采用位置+长度两种视觉元素。类别型数据主要包括柱形图、条形图、雷达图、坡度图、词云等,通常用来比较数据的规模。有可能是比较相对规模(显示出哪一个比较大),有可能是比较绝对规模(需要显示出精确的差异)。柱形图就是用来比较规模的标准图表(注意:柱形图轴线的起始值必须为0)。




数据关系

数据关系型图表包括展示数据相关性(Correlation)与数据流向(Flow)两种主要类别的图表。

数据流向型图表主要向读者展示两个或两个以上的状态、情境之间的流动量或流动强度,包括网络图、和弦图、桑基图、蜂巢图等。其中,网络图就是展示出不同类型对象之间的关系强度和内部关联关系。

数据相关性型图表主要展示两个或多个变量之间的关系,包括最常见的散点图、气泡图、曲面图、矩阵散点图等。该图表的变量一般都为数值型,当变量为1~3个时,可以采用散点图、气泡图、曲面图等;当变量多于3个时,可以采用高维数据可视化方法,如平行坐标系、矩阵散点图、径向坐标图、星形图和切尔若夫脸谱图等。




数据分布

数据分布型图表主要显示数据集中的数值及其出现的频率或者分布规律,包括统计直方图、核密度曲线图、箱型图、小提琴图等。其中,统计直方图最为简单与常见,又称质量分布图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。




时间序列

时间序列型图表强调数据随时间的变化规律或者趋势,X轴一般为时序数据,Y轴为数值型数据,包括折线图、面积图、雷达图、日力图、柱形图等。其中,折线图是用来显示时间序列变化趋势的标准方式,非常适用于显示在相等时间间隔下数据的趋势。




局部整体

局部整体型图表能显示出局部组成成分与整体的占比信息,主要包括饼图、圆环图、旭日图、华夫饼图、树状图等。饼图是用来呈现部分和整体关系的常见方式,在饼图中,每个扇区的弧长(以及圆心角和面积)大小为其所表示的数量的比例。但要注意的是,这类图很难去精确比较不同组成的大小。




地理空间

地理空间型图表主要展示数据中的精确位置和地理分布规律,包括等值区间地图、带气泡的地图、带散点的地图等。地图用地理坐标系可以映射位置数据。位置数据的形式有许多种,包括经度、纬度、邮编等。但通常都是用纬度和经度来描述。



精彩回顾

R语言ggplot2地理信息可视化(上)

R语言ggplot2地理信息可视化(下)

公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战  
回复 
Python       1小时破冰入门

回复 数据挖掘     R语言入门及数据挖掘
回复 
人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习      机器学习的商业应用
回复 数据科学      数据科学实战
回复 常用算法      常用数据挖掘算法

登录查看更多
3

相关内容

数据可视化是关于数据之视觉表现形式的研究。
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
166+阅读 · 2020年3月27日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
192+阅读 · 2020年3月12日
Python奇淫技巧,5个数据可视化工具
机器学习算法与Python学习
7+阅读 · 2019年4月12日
文本分析与可视化
Python程序员
9+阅读 · 2019年2月28日
下载 | 954页《数据可视化》手册
机器学习算法与Python学习
21+阅读 · 2019年1月3日
独家分享--48页PPT解密数据可视化!
R语言中文社区
6+阅读 · 2018年6月19日
可视化多维数据的艺术
论智
10+阅读 · 2018年1月23日
【入门】数据分析六部曲
36大数据
18+阅读 · 2017年12月6日
这几个争做数据圈清流的公众号,你都知道吗?
PCA的基本数学原理
算法与数学之美
11+阅读 · 2017年8月8日
Arxiv
3+阅读 · 2018年10月18日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
Arxiv
10+阅读 · 2018年2月9日
Arxiv
27+阅读 · 2017年12月6日
Arxiv
10+阅读 · 2017年11月22日
VIP会员
相关VIP内容
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【干货书】R语言书: 编程和统计的第一课程,
专知会员服务
111+阅读 · 2020年5月9日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
166+阅读 · 2020年3月27日
【经典书】Python数据数据分析第二版,541页pdf
专知会员服务
192+阅读 · 2020年3月12日
相关资讯
Python奇淫技巧,5个数据可视化工具
机器学习算法与Python学习
7+阅读 · 2019年4月12日
文本分析与可视化
Python程序员
9+阅读 · 2019年2月28日
下载 | 954页《数据可视化》手册
机器学习算法与Python学习
21+阅读 · 2019年1月3日
独家分享--48页PPT解密数据可视化!
R语言中文社区
6+阅读 · 2018年6月19日
可视化多维数据的艺术
论智
10+阅读 · 2018年1月23日
【入门】数据分析六部曲
36大数据
18+阅读 · 2017年12月6日
这几个争做数据圈清流的公众号,你都知道吗?
PCA的基本数学原理
算法与数学之美
11+阅读 · 2017年8月8日
Top
微信扫码咨询专知VIP会员