你的位置:首页 > 网页设计

[网页设计]可视化框架设计


数据可视化与G2


目录

  • 目的
  • 什么是数据可视化
  • 数据可视化的阶段
  • G2的定位和规划

目的

从事数据可视化有2,3年的时间了,发现大多数人对数据可视化的认知就是绘制图表。因此我想写一些可视化框架设计的文章,这些文章,提供了一整套可视化框架的设计思路和实现细节,希望能让大家对可视化有更多的理解,更好的在业务中使用可视化。


什么是数据可视化

数据可视化使用数据和图形技术将信息从数据空间映射到视觉空间,是一门跨越了计算机图形学、数据科学、自然科学和人机交互等领域的交叉学科。

image

上面的领域模型过于复杂,我们在数据可视化的工作中更关注数据和图形,由此对数据可视化的领域模型进行了简化:

image

  • 数据:聚焦于解决数据的采集,清理,预处理,分析,挖掘。
  • 图形:聚焦于解决对光学图像进行接收、提取信息、加工变换、模式识别及存储显示。
  • 可视化:聚焦于解决将数据转换成图形,并进行交互处理

当前掌握的知识和一个数据可视化工作者需要掌握的知识领域:

image 
image


数据可视化阶段

从市场上的数据可视化工具来看,数据可视化分为这么几个阶段:

  • 数据统计图表化
  • 数据结果展示化
  • 数据分析过程可视化
  • VR/AR 阶段的虚拟现实的可视化

数据统计图表化

image
image

这个阶段是使用传统的统计性图表来展示数据,其中的代表作是highcharts,echarts 等图表库,这些框架的优点在于:

  • 最成熟的可视化工具,包含的图表都是常见图表,易于用户理解和开发人员使用
  • 开发成本低,对图形技术和数据知识的要求不高

缺点同样明显:

  • 配置项复杂、扩展性差、图表表现单一
  • 适用范围窄,对树状、网状结构支持差;数据维度和数据量的展示都受限

数据结果展示化工具

image

随着数据业务对可视化需求的要求越来越高,可视化的范围已经不仅仅限制于统计性图表,业务上需要显示更多维度的数据、更多样的图形展示数据。这就需要能够业务方根据自己的需求定制图表,这个阶段的工具主要有 d3.js,rapheal等框架,这些框架提供了更加细力度的图形工具,更多的图形算法,这类框架的优点:

  • 功能强大、交互性强、适用范围广
  • 集成了大量的图形算法、可视化算法,降低复杂的图表的成本
  • 社区力量强大、大量示例

同样存在一些共性的问题:

  • 需要细粒度的操作图形,学习、开发成本高
  • 个性化需求多,复用性差

数据分析可视化工具

前面的工具都是基于先验模型,已与检测已知模式和规律,对复杂、异构、大尺度数据的自动处理经常会失效,所以需要对数据的分析过程进行可视化,更好的探索规律、查找问题。数据分析的可视化工具,目前市场上做的最好的是tableau、R语言中的ggplot2等,这些产品优点:

  • 跟数据分析密切关联,集成了大量数据相关的算法
  • 可以对数据分析的中间环节进行可视化展示

缺点:

  • 专业度强,不宜入门

VR/AR 阶段的虚拟现实的可视化

正在探索中


G2

当前支持业务的特点,决定了我们数据数据可视化的工作内容:

  • 基本的统计性图表依然占可视化的很大比例,但是开发受困于各种图表库的不完整性、数据的输入输出不一致、语法的繁琐,导致体验差,开发效率低。
  • 越来越多的业务开始有更多维度的数据展示需求,传统的统计性图表已经不能满足需求,越来越多的可视化定制需求
  • 在线的数据分析业务开始兴起,传统的PC版工具不能满足需求

我们2年前开始了G2的开发,G2的定位:

  • 满足现有的统计性图表需求,提供一套极为简单的图形语法,完成数据从数据空间映射到图形空间。
  • 提供各种图形的扩展语法,支持异构复杂的数据类型,是一套强大的可视化工具
  • 探索在数据技术在可视化上的应用,以在线数据分析为入口,提供数据分析的可视化能力

G2的roadmap

G2已经完成了 1.0,1.1,1.2的开发,前几个版本完成了以下内容:

image

整体的roadMap:

lALORZhC5M0BMc0Cdw_631_305

  • antV 是一套我们在支持可视化业务中的实践规范,用于帮助用户在合适的场景使用合适的图表
  • G 绘图库,是我们数据可视化的绘图底层,需要在3D、动画、交互上做扩展
  • G2 1.x已经开发完毕,实现了一套简单易用的图形化语法,满足统计图表的需求。
  • G2 2.x正在开发中,希望能够用数据和图形映射的方式,屏蔽图形绘制的细节,使用户能够定制个性化的可视化需求,D3能绘制的图形,都应该能够使用简单的语法实现。
  • G2 3.x的功能,之前仅仅尝试过简单的回归、拟合等数据算法,后期需要跟数据部门结合,构造在线版的数据分析工具。

结语

几个网站地址:

  • g2: https://g2.alipay.com/
  • antV: https://antv.alipay.com/
  • github: https://github.com/antvis

后续我们会发布一系列可视化框架设计方面的文章,讲述G2的整体设计思路的和各种语法元素的设计细节,欢迎大家参与我们的可视化工作。