我的编程空间,编程开发者的网络收藏夹
学习永远不晚

带你一文读懂数据可视化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

带你一文读懂数据可视化

当同类的数据集合在一起,甚至于纵向的其他数据展开联系时,都可以成为大数据。取决于是谁用这些数据,以及使用目的,大数据没有严格意义上的类型界定。但是当你有了庞大的数据后,如何最直接的反应数据情况?如何以最快的速度发现需要进一步分析的数据?做了一系列分析得出结果后,如何如何简单快速的说服你的读者或者领导?

我们本身可能就是大数据的生产者。也会是使用者。

什么是数据可视化?

其实大数据是一个很空洞的概念,具体的意义针对不同的人有不同的含义。大数据的基本流程链包括:数据挖掘,数据清理,数据存储,数据分析,数据展示。

数据可视化就是这样一种,贯穿数据分析整个时期,在前期助数据分析人员通过迅速呈现整体数据,发现可能的问题点,后期通过可视化,后期将数据分析结果更快速的呈现在读者面前。数据可视化可以通过使用图形、图标、色彩变化等各种组合对数据进行解读,从而使人们快速理解一组或多组数据中的复杂关系。通过数据可视化,人们可以从中辨别出趋势,固定模式,发现特定问题,甚至可以为决策提供依据。

拿最近新冠的例子来说,你一定很熟悉下面的这些图了:


全国新增新冠确诊人数(图片来源:丁香园)

全国现存累计确诊人数分布(图片来源:丁香园)

国内新增确诊数据(图片来源:丁香园)

第一第二张图就是数据可视化的例子。折线图和地图很直观的将第三张图的新冠肺炎每日新增人数,以及分布,很直观的用图像表现出来,而省去读者对第三张图标具体数字的解读和处理。当读者需要进一步了解图形背后的具体数字时,读者可以去第三张图标进行研读。而这仅仅是最简单的例子。

我们为什么需要数据可视化?

通过上面的例子,如果说大数据可以帮助我们找到规律和趋势,那数据可视化是一种将数据直观呈现出来的方式。数据可视化贯穿数据清理,数据整合的一个步骤。比如说你是一名销售人员要向上一级汇报销售成果。你涉及的数据可能包括客户姓名,客户地址,购买产品,购买型号,购买数量,购买日期,购买单号,发货时间,发货方式,销售金额,折扣数目,利润率……你应该从何种角度下手处理你的数据,你得出需要加强某个产品的宣传的结论时,觉得你的领导是更愿意直观的了解到结果,还是愿意花15分钟一页一页研读你的分析? 

美国民众对新冠病毒看法的变化,用图像的形式比用电子表格或者文字的形式,更加具体直接。(图源:538)

所以数据可视化可以简化人脑处理信息,并得到结论的一种有效手段。我们人脑更容易通过图像等视觉上的呈现来得出一定的结论。就算一些分析人员可以通过复杂的演算,模型设计得出某些结论,但这些结论远远没有比直接用图形来总结来的更直观。

拿个最简单的例子来说,北京上海的地铁公交图就可以称为一种数据可视化。纵横交错的轨道交通,不同的线路站点,相交的换乘点,如果通过文字或者表格来呈现远远不及轨交地图来的直观明了 


上海轨交地图(图片来源:TravelChinaGuide)

既然连轨交地图都是数据可视化的一种,那你可以放开了联想,其实生活中很多方面,我们都涉及数据可视化。

数据可视化和数据分析有什么区别?

数据可视化很容易和数据分析相混淆,诚然两者有相似之处——数据可视化和数据分析都是在可视界面中展示数据。 

多组可视化合在一起时,可以展示更多的信息甚至可以讲述一个完整时间(图源:Center for Data Innovation)

是两者还有很多方面有不同。数据分析是一个探索性的过程。因为很多数据分析人员拿到数据后,通常有一个特定问题需要去发现,围绕着这个问题,要进行不同测试,需要足够的耐心才能发现使用某个手段,集中分析某些数据,才能体现出某些关系,并且回答最初的问题。而数据可视化是数据分析中的一部分,前期后期都可以通过数据可视化,做到更有效的数据分析,以及更清楚的呈现最终分析结果。大致概括如下:

使用目的不同。数据分析可以发现某些潜在的模型,或者趋势,可以帮助预测某些将来发生的事件。数据分析所使用的前期或后期的数据,可以作为数据可视化的数据源。而数据可视化能够更直观的呈现某一局部特征,更明确的展现出某个变量的影响,前期是帮助数据分析人员了解大体数据情况,发现异常值。后期通过可是后分析的数据,更好的展现分析结果。

两者之间关系不同。数据分析是将分析和可视化相结合,去找出某些结论。有时候,数据分析是数据可视化的前端,数据可视化呈现的就是数据分析的结果。

使用工具不同。数据分析一般通过规范分析(prescriptive analytics)和预测分析(predictive analytics),诊断分析(diagnostic analytics)。数据分析所使用的工具有Excel ,hive, Ploybase,SAP Business Intelligence,Presto, Trifacta,Clear Analytics,等等。而数据可视化可以是静态展示也可以是互动展示数据,所使用的工具有:Plotly,DataHero,Tableau,QlikView,ZingCHhart 等等 


Tableau的互动式可是数据化。(图源:TABLEAU)
数据可视化能够如何帮助数据分析,并达到哪些目的?

数据可视化有很多用途,每种类型的数据可视化可以有不同的用途。这里就说一下数据可视化的最常见的情况。

  • 时间变化。使用时间变化展现另一个变量的变化的形式是最基本和最常见的方法。但是请注意,这并不代表这样的可视化没有价值。这种类型的数据可视化之所以常见,是因为大多数的数据都涉及到时间因素。因此,许多数据分析的第一步就是查看数据是如何随着时间变化而变化的。
  • 确定频率。确定频率也是数据可视化的基本用途之一。因为他也适用于设计涉及时间的数据。如果涉及时间的话,除了检查数据如何随时间变化,还要查看在某一单位时间内,相关事件随时间发生的频率是否合乎逻辑。
  • 确定数据之间的关系(关联)。识别数据之间的关联是数据可视化非常有价值的用途之一。了解数据中的关系非常重要,但是如果没有可视化,就很难确定两个变量之间的关系了。
  • 检查整个数据。在市场研究中,经常可以使用数据可视化检查数据整体的例子。因为市场和销售人员需要知道他们的消息针对于何种群体,因此他们需要分析整个市场的受众群体,以及群体中的集群与集群之间的关联,集群中有影响力的人以及异常值。
  • 时间规划。在做一项非常复杂的项目或者计划表的时候,通常涉及不同部门,不同人员,不同项目细节,会让人非常困惑。甘特图(Gantt Chart) 可以通过清楚说明项目中的每个任务,以及所需完成的时间来解决这个问题。
  • 分析价值和确定风险。由于分析价值和风险这类指标有很多相关因素,要考虑很多不同的变量,那么使用各种变量的普通电子表格,很难准确有效的一眼将价值和风险看出。数据可视化可以像对公式进行颜色编码一样,以显示哪些机会有价值,哪些机会有风险。 

四种基本的数据可视化图形(图源:The Coding Room)

数据可视化有哪些类型?

可视化图类型有多种多样,这里我列举了大多数市面上能见到的可视化类型图。

折线图 (Line chart) 


折线图(图源:New Zealand Census)

面积图 (Area chart) 


面积图(图源:Wikepedia)

条形图(Bar chart) 


条形图(图源:Naomi Robbins|Forbes)

直方图(Histogram) 


直方图(图源:Naomi Robbins|Forbes)

值得注意的是条形图和直方图是有区别的。条形图的宽度表示类别且固定,长度表示频数。直方图用“面积”表示各组频数,举行高度表示每一组的频数,宽度表示组距,因此高度与宽度均有意义。直方图为X轴为连续数列,且连续排列。条形图X轴为分类数据,分开排列。

散点图(Scatterplot) 


散点图(图源:Wikimedia)

箱型图(Box Plot) 


箱型图(图源:Wikimedia)

气泡图(bubble chart) 


气泡图(图源:Tony Hirst | Flickr)

饼图(Pie chart) 


饼图(图源:Wikimedia)

量规图(gauge) 


量规图(图源Ken Flerlage | The FlerlageTwins)

地图(Maps) 


地图

此处特别推荐哈佛大学地理分析中心(Center for Geographic Analysis - Harvard University)

  • https://gis.harvard.edu/researchhttp://worldmap.harvard.edu/africamap/

以及哈佛大学做的非洲地图:

  • http://worldmap.harvard.edu/africamap/ 这张互动地图包括了经济,宗教,社会,人口,历史,交通等方方面面。

热图(Heat map)

这就有很多种了。这里就放一个我曾使用过的眼动仪(eye tracking)所产生的热图 


眼动仪其中的热图功能(图源:Rosenfeld Media | Flickr

框架图(Frame diagram) 


通常框架图指的是树图(图源:Wikimedia)

瀑布图 (Waterfall chart) 


瀑布图(图源:Wikipedia)

漏斗图(Funnel chart) 


使用R创建的漏斗图(图源:Neha Kuma | Sisense)

雷达图或蜘蛛图(Radar or Spider Chart) 


雷达图(图源:middlebury.edu)

这些就是市面上你可以见到的数据可视化图形。当然还有其它形式的,以及图形与图形之间的叠加组合,比如折线图与直方图的组合等等,我就不一一列举了。

因此数据可视化并非那么神秘,我们常用的EXCEL就可以做出上述可视化图形中的好几种。除了Excel,Tableau可以创建其中绝大部分的数据可视化,而且通过使用其中的Dashboard可以创建互动式的数据可视化,story功能实现图组创建故事讲述功能。最最重要的是Tableau提供免费版本,使用Tableau的一切功能。免费版本和付费版本的区别在于保存,付费版本可以保存在本地,而免费版本可以上传到Tableau的公共资源网上,和别人分享你所创建的数据可视化,同时还能查看别人创建的各种出色的可视化。

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

带你一文读懂数据可视化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

带你一文读懂数据可视化

我们现在生活的每一秒都在产生着数据,比如你现在看这篇文章的时候。用的什么手机,型号,你所在地点,点开这篇文章的时间,花了多久看的文章……都是被收集的数据。

一文带你读懂MyBatis中的参数

一文带你读懂MyBatis中的参数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言相信很多人可能都遇到过下面这些异常:"Parameter xxx not found. Av
2023-05-31

一文带你读懂物联网

物联网是“新基建”的核心要素,数字化转型,物联网是必经之路。

一文带你读懂Base64编码

相信很多同学在工作中,经常会用到Base64编码,那大家知道为什么会有Base64编码吗?我们为什么要使用它呢,它又是怎么实现的呢?下面就让我们来一起深入探究一下Base64编码吧。
base64编码2024-12-03

一文带你读懂Java IO复用

本篇文章为大家展示了一文带你读懂Java IO复用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。对于服务器的并发处理能力,我们需要的是:每一毫秒服务器都能及时处理这一毫秒内收到的数百个不同TCP连接
2023-05-31

一文带你读懂Java中的IO流

一文带你读懂Java中的IO流?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、IO解决问题解决设备与设备之间的数据传输问题,比如 硬盘—->内存 内存—–>硬盘2、字节流
2023-05-31

一文带你读懂Java中的Character类

这期内容当中小编将会给大家带来有关一文带你读懂Java中的Character类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用字符时,我们通常使用的是内置数据类型char。实例char ch = a;/
2023-05-31

一文带你读懂Golang sync包之sync.Mutex

sync.Mutex可以说是sync包的核心了, sync.RWMutex, sync.WaitGroup...都依赖于他, 本章我们将带你一文读懂sync.Mutex,快跟随小编一起学习一下吧
2023-05-16

一文带你读懂Java中的枚举

这期内容当中小编将会给大家带来有关一文带你读懂Java中的枚举,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。enum 的全称为 enumeration, 是 JDK 5 中引入的新特性,存放在 java
2023-05-31

一文带你搞懂JavaScript Currying(柯里化)函数

柯里化(Currying)是一种关于函数的高阶技术。它不仅被用于 JavaScript,还被用于其他编程语言。

一文带你搞懂Go如何读写Excel文件

Excelize是一个用纯Go语言编写的库,提供了一组函数,可以对XLAM / XLSM / XLSX / XLTM / XLTX文件进行读写。支持读写由Microsoft Excel™2007及以后版本生成的电子表格文档。本文就将用它实现读写Excel文件操作,感兴趣的可以学习一下
2022-11-13

一篇文章带你搞懂Python的文件读写

本文基于Python基础,使用Python语言,介绍了有关Python文件操作的知识点。从文件的基本概念入手 ,通过一个个小项目的演示,对常用的读写模式,文件对象操作方法,以及在实际应用中需要注意的问题,都做了详细的讲解。希望帮助你更好的学

一文带你读懂java中的异常处理

本篇文章为大家展示了一文带你读懂java中的异常处理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java异常层次结构Exception异常RuntimeException与非RuntimeExce
2023-05-31

一文带你读懂Java中的反射机制

本篇文章为大家展示了一文带你读懂Java中的反射机制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是反射机制反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且
2023-05-31

一文带你读懂java中的对象拷贝

本篇文章为大家展示了一文带你读懂java中的对象拷贝,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。java对象拷贝详解及实例Java赋值是复制对象引用,如果我们想要得到一个对象的副本,使用赋值操作是
2023-05-31

一文带你读懂SpringBoot中的事务管理

一文带你读懂SpringBoot中的事务管理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Springboot内部提供的事务管理器是根据autoconfigur
2023-05-31

一文带你读懂java中的希尔排序

这期内容当中小编将会给大家带来有关一文带你读懂java中的希尔排序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。希尔排序:通过比较相距一定间隔的元素来工作;各趟比较所用的距离(增量)随着算法的进行而减小,
2023-05-31

带你一文读懂Python垃圾回收机制

这篇文章主要介绍了带你一文读懂Python垃圾回收机制,如果对其垃圾回收机制不了解,很多时候写出的Python代码会非常低效,需要的朋友可以参考下
2023-05-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录