Python数据可视化1.4 可视化如何帮助决策

简介:

1.4 可视化如何帮助决策


数据有多种视觉展示的方式。然而,其中仅有少数方式能够用人们视觉上看得懂且观察到的新模式来刻画数据。数据可视化并不像看起来那么简单;它是一门艺术,且需要很多实践经验。(就像画一幅画,一个人不可能一天之内成为绘画大师,它需要很多实践经验。)

人类感知在数据可视化领域扮演着重要角色。健康人的眼睛具有水平方向大约200度的视野范围(两只眼睛共享大约120度的视野)。大概人类大脑的四分之一涉及可视化处理,这比其他任何感官都要多。在听觉、视觉和嗅觉中,人的视觉占据最多(约为60%)(http://contemplatingmadness.tumblr.com/post/27478393311/10-limits-to-human-perception-and-how-they-shape)。

有效的可视化有助于我们分析理解数据。作者Stephen Few列举出如下8种定量信息(通过可视化),这有助于理解或交流数据(来源:https://www.perceptualedge.com/articles/ie/the_right_ graph.pdf):

时间序列

排序

局部到整体

偏差

频率分布

相关

名义比较

地理或地理空间

科学家已经绘制出人类基因组,这是我们面临将知识转换为可视化以求更好理解的挑战。换句话说,我们可能不得不找到从视觉上呈现人类基因组的新方法,使得普通人也能理解。

1.4.1 可视化适用于哪里

需要强调的是,数据可视化不是科学的可视化。科学可视化处理的数据本身固有一种物理结构,比如流过飞机机翼的空气分子。另一方面,信息可视化处理抽象数据,帮助解决大量数据集问题。挑战之一是确保数据是干净的,而且通过降维提出不必要的冗余信息。

可视化可以用于知识或数据价值增加的任何情况。通过做更多的数据分析和运行更多的算法即可完成。数据分析的形式可能由最简单变得更复杂。

有时,仅仅观察均值、中位数或总和无法获得真正的价值。这是因为这些测度指标仅仅测度了显而易见的东西。有时,一个区域的并集或数值隐藏着需要特别关注的有趣细节。一个经典的例子(Anscombe四重奏)包括简单的统计性质几乎相同的四个数据集,但在图像中却截然不同。如果想了解更多,请见链接:https://en.wikipedia.org/wiki/Anscombe% 27s_quartet。

 

在大多数情况下,数据集的可视化可能有不同的形式,但是总会有一些人能够画出比其他人更清晰的图片来帮助理解。在一些情况下,必须通过多次分析来得到可视化的更好理解,如上图所示。

良好的可视化不仅仅能看到如博物馆展览一样的静态图。我们还可以深入挖掘数据,发现更多变化。(通过循序渐进地查看,收缩和过滤,改变展示标尺,再得到可视化结果)。如由Ben Shneiderman提供的资料(http://www.mat.ucsb.edu/~g.legrady/academic/courses/11w259/schneiderman.pdf)所示,得到有时在同一图中,以同一个标尺展示所有信息非常有难度,而且用户可以通过个人经验更好地理解这些可视化方法。进一步总结,特别是当数据充足时,可视化在组织和提炼数据方面很有用处。

交互式可视化成为一种新的沟通交流形式,它允许用户分析信息以便创建自己对数据的新理解。

1.4.2 如今的数据可视化

虽然很多计算领域旨在用自动化取代人工判断,但是可视化系统是独一无二的,而且明确设计为无法取代人类。事实上,可视化系统是为确保人类在整个参与过程中的积极性而设计的,这是为什么呢?

数据可视化是在各种计算工具帮助下受数据驱动并由人类创造的一门艺术。一位艺术家用工具和材料(像刷子和颜料)绘制一幅画。同样,另一位艺术家尝试在计算工具的帮助下创建数据可视化。可视化可以是美观的,并有助于使事情更清晰;根据不同的创建者,有时会缺乏上述一个或两个特点。

如今,数据的可视化展示方式已超过30种,每一种特定的方式都有它的用处。正因为可视化方法不断发展进步,我们已经不局限于柱状图和饼状图。数据可视化有很多好处,但它们往往因为缺乏理解而有所不足。在一些情形下,同一个图上聚集太多东西往往会使得整个构图纷繁复杂。

有很多呈现数据的方法,但仅有一小撮适用于大多数情况,这将在本章后面的部分详细讲述。在讨论之前,不妨先看看得到好的可视化效果有哪些重要的注意事项。

什么是好的可视化

好的可视化结果有助于用户探索和理解数据,提供价值和深刻的观点。它是有效的、具有视觉吸引力的、可伸缩的而且容易理解的(好的可视化不必太复杂)。通过开展研究和分析工作,可视化是发现数据模式和趋势的核心工具,我们使用其中的任何一种方法都能够回答数据问题。

有效的可视化背后的主要原则是能够突出你想表现的主要问题,根据观众的层次和背景,精确呈现数据并创造出能够清晰传达信息的可视化结果。

举例:下图来自小样本数据源,该数据展示了1970~2012年10门学科中女性和男性被授予学位的百分比(womens-undergrad-degrees.csv和mens-undergrad-degrees.csv来自http://www.knapdata.com/python/):

 

所有数据来源可见http://nces.ed.gov/programs/digest/d11/ tables/dt11_290.asp,包含全部数据集。

尽管不同学科间授予学位的数量彼此没有关系,但有一种简单的方法,用同一个标尺展现所有学科。让我们分析和观察一下,这种展示方式是否可行,如果不可行,我们需要做什么?还有其他展示方式吗?

一方面,所有学科数据展示在同一幅图上形成了一个很好的对比。然而,我们不能直接得到2000年的信息。除非有一种类似于金融股票图的交互式展示模式,否则没有一种简单的方法来确定2000年各学科的学位授予信息。另一方面,同一学科授予男性和女性学位的百分比共占100%;比如,男性在卫生专业被授予学位的百分比占15.2%,女性占84.8%。

我们还有其他可视化方法吗?可以考虑就每年都创建一个气泡图,加入年份因素,通过设置按钮自助切换不同年份的气泡图,完成交互式的可视化图像。

这种可视化方式更适用于该数据。我们也可以用与原始图相同的滑块,通过强调所选年份的数据实现交互。用不同的方法来观察一些图是否比其他图更好,这是一种好习惯。如果数据的数值区间很大(比如,20~200 000),那么我们可能不得不将数值进行对数处理。

我们可以用Python编程绘制气泡图。此外,也可考虑用D3.js的JavaScript语言和RStudio的R语言。读者可以进一步探索其他可视化的选择。

可以用Google Motion图来可视化,在developers.google.com/chart/interactive/docs/gallery/ motionchart?csw=1#Example呈现的交互式图表,这里展示了与棋牌图类似的一个工作示例。下面的气泡图仅展示三年的情况,但是你可以创建另一个图展示所有年份的情况。

 

数据可视化是数据分析后的一个过程。在前面,我们也注意到数据转换、数据分析和数据可视化已被多次尝试。为什么会这样?我们都知道有这样一句名言,“有知识的人给出正确的答案,聪明的人提出正确的问题。”数据分析有助于我们更好地理解数据,因此,数据分析应用于回答有关数据的问题。然而,当数据用不同方式进行视觉展示时,一些新问题就会出现,而且这也是要重复分析和可视化的原因之一。

数据可视化是数据探索的主要途径,而且几乎总是先于或引发数据分析。有很多数据的视觉展示工具,但是用于分析的工具却少之又少。像Julia、R和Python这些编程语言在表现数据分析方面排名靠前,但是就可视化而言,基于D3.js的JavaScript在生成交互式数据可视化方面具有更大的潜力。

与Python相比,学习R语言相对较难。关于这点,Quora上也有一些争论;你可以在网站(https://www.quora.com/Which-is-better-for-data-analysis-R-or-Python)上验证其有效性。现在,Python有很多统计建模和数据分析工具,因此,成为了研究数据科学的一种颇具吸引力的选择。

相关文章
|
19天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
14天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
76 7
|
17天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
18天前
|
数据可视化 Python
使用Python进行数据可视化的初学者指南
在数据的海洋里,我们如何能够不迷失方向?通过数据可视化的力量,我们可以将复杂的数据集转化为易于理解的图形和图表。本文旨在为初学者提供一份简明的入门手册,介绍如何使用Python中的Matplotlib库来揭示数据背后的故事。我们将从基础的图表开始,逐步深入到更高级的可视化技术,确保每个步骤都清晰易懂,让初学者也能轻松上手。让我们开始绘制属于你自己的数据图谱吧!
|
29天前
|
机器学习/深度学习 人工智能 数据可视化
使用Python进行数据可视化:探索与实践
在数字时代的浪潮中,数据可视化成为了沟通复杂信息和洞察数据背后故事的重要工具。本文将引导读者通过Python这一强大的编程语言,利用其丰富的库函数,轻松入门并掌握数据可视化的基础技能。我们将从简单的图表创建开始,逐步深入到交互式图表的制作,最终实现复杂数据的动态呈现。无论你是数据分析新手,还是希望提升报告吸引力的专业人士,这篇文章都将是你的理想指南。
39 9
|
25天前
|
数据可视化 数据处理 Python
Python编程中的数据可视化技术
在Python编程中,数据可视化是一项强大的工具,它能够将复杂的数据集转化为易于理解的图形。本文将介绍如何使用matplotlib和pandas这两个流行的Python库来实现数据可视化,并展示一些实用的代码示例。通过这些示例,读者将学会如何创建各种图表,包括折线图、柱状图和散点图等,以便更好地理解和呈现数据。
|
28天前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
1月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
45 3
|
1月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
1月前
|
数据可视化 搜索推荐 Shell
Python与Plotly:B站每周必看榜单的可视化解决方案
Python与Plotly:B站每周必看榜单的可视化解决方案
下一篇
DataWorks