数据可视化的历史

article/2025/9/30 22:43:51

数据可视化的历史

可视化发展史与测量、绘画、人类现代文明的启蒙和科技的发展一脉相承。在地图、科学与工程制图、统计图表中,可视化理念与技术已经应用和发展了数百年。

17世纪之前:图表萌芽

16世纪时,人类已经掌握了精确的观测技术和设备,也采用手工方式制作可视化作品。可视化的萌芽出自几何图表和地图生成,其目的是展示一些重要的信息,见图1和图2。
图1 公元前6200年的人类地图。
图2 人类历史上第一幅城市交通图,呈现了罗马城的交通状况。

1600—1699年:物理测量

17世纪最重要的科学进展是对物理基本量(时间、距离和空间)的测量设备与理论的完善,它们被广泛用于航空、测绘、制图、浏览和国土勘探等。同时,制图学理论与实践也随着分析几何、测量误差、概率论、人口统计和政治版图的发展而迅速成长。17世纪末,甚至产生了基于真实测量数据的可视化方法(见图3和4)。从这时起,人类开始了可视化思考的新模式。

图3 诞生于1626年表达太阳黑子随时间变化的图。在一个视图上同时可视化多个小图序列,是现代可视化技术中称为邮票图表法(Small Multiples)[Tufte1992]的雏形。

图4 1686年绘制的历史上第一幅天气图,显示了地球的主流风场分布。这也是向量场可视化的鼻祖。

1700—1799年:图形符号

进入18世纪,绘图师不再满足于在地图上展现几何信息,发明了新的图形化形式(等值线、轮廓线)和其他物理信息的概念图(地理、经济、医学),见图5和图6。随着统计理论、实验数据分析的发展,抽象图和函数图被广泛发明。

图5 左:1701年地球等磁线可视化;右:1758年Lambert完成的三维金字塔颜色系统可视化。

图6 1765年Joseph Priestley发明的时间线图。采用了单个线段表现某个人的一生,同时比较了公元前1200年到公元1750年间2000个著名人物的生平。这幅作品直接激发了柱状图的诞生。

18世纪是统计图形学的繁荣时期,其奠基人William Playfair发明了折线图、柱状图、显示局部与整体关系的饼状图和圆图等今天最常用的统计图表(见图7和图8)。

图7 William Playfair作品:丹麦和挪威1700—1780年间的贸易进出口序列图 [Tufte1990]。

图8 左:世界上第一幅饼图,显示了1789年土耳其帝国在亚洲、欧洲和非洲的疆土比例;右:德国物理学家Lambert用于表达水的蒸发和时间之间的关系的线图可视化。

1800—1900年:数据图形

随着工艺设计的完善,19世纪上半叶,统计图形、概念图等迅猛爆发,此时人们已经掌握了整套统计数据可视化工具,包括柱状图、饼图、直方图、折线图、时间线、轮廓线等。关于社会、地理、医学和经济的统计数据越来越多,将国家的统计数据和其可视表达放在地图上,产生了概念制图的新思维,其作用开始体现在政府规划和运营中。采用统计图表来辅助思考的诞生同时衍生了可视化思考的新方式:图表用于表达数学证明和函数;列线图用于辅助计算;各类可视化显示用于表达数据的趋势和分布,便于交流、获取和可视化观察。图9至图14展示了部分实例。

图9 1837年人类历史上第一幅流图,用可变宽度的线段显示了交通运输的轨迹和乘客数量。

19世纪下半叶,系统地构建可视化方法的条件日渐成熟,进入了统计图形学的黄金时期。值得一提的是法国人Charles Joseph Minard,他是将可视化应用于工程和统计的先驱者。其最著名的工作是1869年发布的描绘1812—1813年拿破仑进军莫斯科大败而归的历史事件的流图,这幅图如实地呈现了军队的位置和行军方向、军队汇聚、分散和重聚的地点与时间、军队减员的过程、撤退时低温造成的减员等信息,见图10。

图10 1812—1813年拿破仑进军莫斯科的历史事件的流图可视化 [Tufte2006],被誉为有史以来最好的统计可视化。

图11 左:1861年的现代天气图,采用图标展现了各地的气压变化。这幅图直接导致人类发现了低压区域中风场的反气旋移动;右:1884年的图标可视化,其图标尺寸正比于某个数字。这种可视化方法经常见于现代媒体的经济、体育、统计等报道。

图12 采用填充长方形显示两个变量及乘积。图示中长方形的面积编码了法国巴黎的外国人数目。

图13 由近代护理事业的创始人南丁格尔创作的堆叠饼图(1857年,也称玫瑰图)。

图14 1888年的火车时刻表,精确地显示了巴黎往返法国各地的火车转接时刻 [Tufte1997]。此方法沿用至今。

1900—1949年:现代启蒙

20世纪上半叶对于可视化而言是一个缺乏创新的时期,但是可视化随着统计图形的主流化开始面向政府、商业和科学走向应用普及(见图15和16),人们第一次意识到图形显示的方式能为航空、物理、天文和生物等科学与工程领域提供新的洞察和发现机会。多维数据可视化和心理学的介入成为这个时期的重要特点。

图15 左:1904年关于太阳黑子随时间扰动的蝴蝶图验证了太阳黑子的周期性;右:1920年发明的路径图显示了结构方程系统中变量形成的网络。

图16 1933年Henry Beck设计的伦敦地铁图成为地铁路线的标准可视化方法,沿用至今。

1950—1974年:多维信息的可视编码

1967年,法国人Jacques Bertin出版了Semiology of Graphics(《图形符号学》)一书[Bertin1983],确定了构成图形的基本要素,并且描述了一种关于图形设计的框架。这套理论奠定了信息可视化的理论基石。随着个人计算机的普及,人们逐渐开始采用计算机编程生成可视化。图17至图19展示了这个时期的一些代表性工作。

图17 1957年发明的圆形图标,采用线段及其朝向编码多维数据。

图18 1967年法国人Jacques Bertin提出的完备的图形符号和表示理论。左:视觉通道;右:针对点(Point)、线(Line)和区域(Area)数据采用不同视觉通道的图形符号表示方案。

图19 1973年Herman Chernoff发明的表达多变量数据的脸谱编码。

1975—1987年:多维统计图形

20世纪70年代以后,桌面操作系统、计算机图形学、图形显示设备、人机交互等技术的发展激发了人们编程实现交互式可视化的热情。处理范围从简单的统计数据扩展为更复杂的网络、层次、数据库、文本等非结构化与高维数据。与此同时,高性能计算、并行计算的理论与产品正处于研制阶段,催生了面向科学与工程的大规模计算方法。数据密集型计算开始走上历史舞台,也造就了对于数据分析和呈现的更高需求。

1977年,美国著名统计学家John Tukey发表了“探索式数据分析”的基本框架,它的重点并不是可视化的效果,而是将可视化引入统计分析,促进对数据的深入理解。1982年,Edward Tufte出版了The Visual Display of Quantitative Information一书 [Tufte1992],构建了关于信息的二维图形显示的理论,强调有用信息密度的最大化问题。这些理论会同Jacques Bertin的图形符号学,逐渐推动信息可视化发展成一门学科 [Cleveland1993][Cleveland1994]。图20至图24展现了部分具有里程碑意义的信息可视化方法。

图20 左:1975年统计图形学家发明的增强散点图表达(三条移动统计均线)。右:John Hartigan发明的散点图矩阵。

图21 1985年发明的表达高维数据的平行坐标。

图22 1971年发明的表达多变量数据的星形图。

图23 1981年发明的鱼眼方法,模拟鱼眼视觉效果对重要细节提供专注,对其他区域则予以简化。

图24 1981年John Hartigan等发明的马赛克图,用以表达多维类别型数据。

1987—2004年:交互可视化

1986年10月,美国国家科学基金会主办了一次名为“图形学、图像处理及工作站专题讨论”的研讨会,旨在为从事科学计算工作的研究机构提出方向性建议。会议将计算机图形学和图像方法应用于计算科学的学科称为“科学计算之中的可视化”(Visualization in Scientific Computing,简称ViSC)。1987年2月,美国国家科学基金会召开了首次有关科学可视化的会议,召集了众多来自学术界、工业界以及政府部门的研究人员,会议报告正式命名并定义了科学可视化(Scientific Visualization),认为可视化有助于统一计算机图形学、图像处理、计算机视觉、计算机辅助设计、信号处理和人机界面中的相关问题,具有培育和促进科学突破和工程实践的潜力。同年,在图形学顶级会议ACM SIGGRAPH上,来自美国GE公司的William Lorensen和Harvey Cline发表了“移动立方体法”(Marching Cubes)一文,开创了科学可视化的热潮。这篇论文是有史以来ACM SIGGRAPH会议被引用最高的论文。1989年,国际期刊Computer发表了一期关于科学计算中的可视化研究的专刊[Nielson1989]。

20世纪70年代以后,放射影像从X-射线发展到计算机断层扫描(CT)和核磁共振图像(MRI)技术。1989年,美国国家医学图书馆(NLM)实施可视化人体计划。科罗拉多大学医学院将一具男性和一具女性尸体从头到脚做 CT扫描和核磁共振扫描,男的间距1毫米,共1878 个断面;女的间距0.33毫米,共5189个断面,然后将尸体填充蓝色乳胶并裹以明胶后冰冻至零下80摄氏度,再以同样的间距对尸体作组织切片的数码相机摄影,如图1.31左图所示,分辨率为2048×1216,所得数据共56GB。这两套数据集极大地促进了三维医学可视化的发展,成为可视化标杆式的应用范例。

图25 左:美国可视化人体数据切片之一;右:采用直接体可视化技术绘制鳄鱼木乃伊CT数据。

1990年,IEEE举办了首届IEEE Visualization Conference,汇集了一个由物理、化学、计算、生物医学、图形学、图像处理等交叉学科领域研究人员组成的学术群体。2012年,为突出科学可视化的内涵,会议更名为IEEE Conference on Scientific Visualization。自18世纪后期统计图形学诞生后,针对抽象信息的视觉表达手段仍然在不断发展,被用于揭示数据及其他隐匿模式的奥秘。与此同时,数字化的非几何的抽象数据如金融交易、社交网络、文本数据等大量涌现,促生了多维、时变、非结构化信息的可视化需求。图1.32显示了面向层次结构数据的树图可视化结果;图1.33展示了美国施乐公司发明的表格透镜技术,它允许人们以凸透镜的方式来获得对大尺度表格焦点+上下文的体验。

图26 1991年Ben Shneideman教授发明的树图,用级联嵌套的平面化树状结构表达层次结构。

图27 1994年美国施乐公司的研究人员发明的表格透镜技术。

20世纪80年代末,视窗系统的问世使得人们能够直接与信息进行交互。1988年,著名的统计图形学学者William Cleverland在其著作Dynamic Graphics for Statistics中详细总结了面向多变量统计数据的动态可视化手段。1989年,Card、Mackinlay和Robertson等人采用“Information Visualization”(信息可视化)命名这个学科,其研究思想和范畴是对统计图形学的升华。从1995年开始,出现了单独面向信息可视化的会议—— IEEE Information Visualization会议,它以研讨会(Symposium)的形式附属于IEEE Visualization会议。2007年,研讨会改名为IEEE Conference on Information Visualization。

2004年至今:可视分析学

进入21世纪,现有的可视化技术已难以应对海量、高维、多源和动态数据的分析挑战,需要综合可视化、图形学、数据挖掘理论与方法,研究新的理论模型、新的可视化方法和新的用户交互手段,辅助用户从大尺度、复杂、矛盾甚至不完整的数据中快速挖掘有用的信息,以便做出有效决策。这门新兴的学科称为可视分析学。可视分析学是一门新兴的学科,其核心理论基础和研究方法尚处于探索阶段。从2004年起,研究界和工业界都沿着面向实际数据库、基于可视化的分析推理与决策、解决实际问题等方向发展。
例如:
图28展示了一个数据可视分析软件Data Science Studio的界面

图29展示了可视化分析软件Palantir(http://www.palantir.com),它允许用户连接多个网络数据库,交互地分析数据,建立人、事件、地点之间的关联,解决复杂的问题,发现隐藏的规律。

2005年,美国国家科学基金会联合美国国家卫生研究所召集了一个新的专题小组,讨论可视化研究的现状和面临的挑战,并于2006年发布了一个专题报告来描述大规模数据可视化所面临的挑战。与此同时,2004年美国国土安全部为了应对恐怖袭击,成立了国家可视分析中心,2005年发布的“可视分析的研究和发展规划”报告全面阐述了可视分析的挑战。2006年,IEEE开设了国际会议(IEEE Symposium on Visual Analytics Science and Technology)。2012年更名为IEEE Conference on Visual Analytics Science and Technology。同时,欧盟欧洲可视化年会EuroVis从2010年起,专门举办可视分析研讨会EuroVAST。

值得注意的是,可视分析的基本理论与方法,仍然是正在形成、需要深入探讨的前沿科学问题。从20世纪90年代开始,我国的各大科研单位和科研人员已经在可视化领域投入了极大的精力,为应用领域认识和使用可视化奠定了坚实的基础。尽管如此,先进的可视分析软件和算法在国内尚未得到普遍的理解。应注意我国的数据采集、分析与应用应当通过自主研发,不能任由国外垄断公司来采集和处理,否则将危及国民生活与国防安全。我国急需对可视分析的基础理论和方法展开研究,对涉及国家大工程、国家安全、国民经济等重要领域数据的可视分析研究应自主进行。


http://chatgpt.dhexx.cn/article/SInZitub.shtml

相关文章

【数据可视化】复杂高维多元数据的可视化

1 高维多元数据 每个数据对象有两个或两个以上独立或者相关属性的数据。高维指数据具有多个独立属性,多元指数据具有多个相关属性。由于研究者在很多情况下不确定数据的属性是否独立,因此通常简单地称之为多元数据。例如:电脑配置。 高维多元…

平行坐标图:高维数据可视化必备图形

关于数据可视化,我们之前分享过很多基础图表和进阶图表,都是一些我们常见的图表,如折线图,柱状图,饼图等等。今天分享一个大家应该见过但是不那么熟悉的图表-平行坐标图。 平行坐标图的定义 平行坐标图可以说是折线图…

Umap高维数据可视化与降维

Umap解决高维数据可视化的问题,以及高效降维。 Umap地址:https://github.com/lmcinnes/umap 文档地址:UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction — umap 0.5 documentation 1.pip通过清华镜像安装方式&#xff…

【数据艺术科技1】基于pyhon的高维数据可视化。(1、2维)

引言 描述性分析是与数据科学项目甚至特定研究相关的任何分析生命周期的核心组成部分之一。数据聚合、汇总和可视化是支持这一数据分析领域的一些主要支柱。从传统商业智能时代到如今的人工智能时代,数据可视化一直是一种强大的工具,并因其在提取正确信…

python高维数据可视化_【机器学习】(十六)主成分分析PCA:高维数据可视化、特征提取...

主成分分析(PCA)是一种旋转数据集的方法,旋转后的特征在统计上不相关。 用PCA做数据变换 首先,算法在原始数据点集中,找到方差最大的方向(包含最多信息),标记为‘成分1’。->找到与“成分1”正交(成直角)且包含最多信息的方向,标记为“成分2”。利用这一过程找到的方向…

TSNE 高维数据可视化

TSNE 高维数据可视化 标签: python 机器学习 神经网络 在神经网络中,我们最后一层一般都是高纬度的数据,但是有时候我们可能想看一下这些高纬度数据的分布情况,这个时候就需要用TSNE,其实TSNE本质上就是先利用PCA降维…

PCA实现高维数据可视化

1 简介 PCA(Principal Component Analysis)即主成分分析是最常见的降维方法, 它是一种统计方法。用于高维数据集的探索与可视化,还可用于数据的压缩和预处理。可通过正交变换把具有相关性的高维变量转换为线性无关的低维变量&…

高维数据可视化之t-SNE算法

https://blog.csdn.net/hustqb/article/details/78144384 t-sne数学原理https://zhuanlan.zhihu.com/p/57937096 什么是t-SNE? t-SNE的主要用途是可视化和探索高维数据。 它由Laurens van der Maatens和Geoffrey Hinton在JMLR第九卷(2008年)中开发并出版。 t-SNE…

Python 数据可视化学习笔记 之高维数据可视化及其方法

一、高维数据 高维数据泛指高维(multidimensional) 和多变量(multivariate)数据 -- 高维是指数据具有多个独立属性 -- 多变量是指数据具有多个相关属性 高维数据可视化的挑战: 如何呈现单个数据点的各属性的数据值分…

高维数据可视化示例

高维数据可视化示例 文中代码均在Jupyter Notebook中运行 文中所需两个数据文件在下面给出。 文中数据集下载1 文中数据集下载2 目录 高维数据可视化示例单变量分析多变量分析可视化二维数据可视化三维数据可视化四维数据可视化 5 维数据可视化 6 维数据(6-D&#…

python科学计算库安装

python科学计算相关的库包括numpy,scipy,matplotlib等,但是自己安装比较不容易,倒不是安装过程有多难,而是会出现各种各样的问题,现在做一记录 安装顺序numpy -> scipy - > matplotlib, …

python怎么进行计算_python怎么计算

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 下面是python中的一个函数计算代码:loops=25000000 from math import*a=range(1,loops)def f(x):return 3*cos(x)+4*sin(x)**2%timeit r=(f(x) for x in a)效率…

Python科学计算初探——余弦相似度

SciPy是世界上著名的Python开源科学计算库,建立在Numpy之上。它增加的功能包括数值积分、最优化、统计和一些专用函数。例如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等。 安装科学计算包SciPy 由于SciPy库在Windows下使用pip intall安装失败…

【python科学计算发行版】

python科学计算发行版 python是科学计算的有力工具,但在进行计算过程中需要安装很多依赖包,会对使用造成不便,所以总结了一下几个包含丰富科学计算包的python发行版本供参考。 Windows下使用的Winpython著名的计算集合python(x,y)数据科学平…

Python科学计算pdf

下载地址:网盘下载 内容简介 编辑 本书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,还着重介绍如何制作交互式的2D、3D图像,如何设计精巧的程序界面,如何与C语言编写的高速计算程序结合,…

python科学计算的几个例子

python解常微分方程 python解常微分方程的步骤如下: 将计算区间分为n个小段,在每一小段上将求解的曲线作为直线处理;将一个n阶常微分方程转换成[y_n,y_n-1,…,y_i,…,y_0]向量的线性方程组,其中y_i表示y的i阶导数;确…

python科学计算与数据可视化——Matplotlib

Matplotlib(https://matplotlib.org/)是一个用来绘图的python库,它的matplotlib.pyplot模块提供了一个绘图系统。 matplotlib中最重要的函数就plot,它可以绘制二维图像 使用subplot函数,你就可以在同一个图像里绘制多个子图 #1.…

常用的python科学计算库有哪些_python科学计算常用的数学科学计算库有哪些?

1.numpy(高效多维数据表示) NumPy数组可以将许多数据处理任务表述为简洁的数组表达式,否则需要编写循环。用数组表达式代替循环的做法,通常被称为矢量化。通常矢量化数组运算要比等价的纯Python方式快上一两个数量级,尤其是各种数值计算。 假设我们想要在一组值(网格型)上计…

Python 初步了解科学计算和数据分析

推荐自己的专栏:分享一些Python案例,将所学用出来随着Python语言生态环境的完善,众多科学计算和数据分析库(例如NumPy、SciPy、Pandas、Matplotlib、IPython等),使得Python成为科学计算和数据分析的首选语言…

Python科学计算

Python 科学计算 NumPy(MatLab 替代品之一) 数组的算数和逻辑运算傅立叶变换和用于图形操作的例程与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数 frmemeta SciPy(科学计算) SciPy是一个开源的算法库和数学工具包。 其包含最优化、线…