》技术应用:大数据产品体系

 

 

一、D3

D3.js 是一个基于数据操作文档的 JavaScript 库。 D3 可以将强大的可视化组件和数据驱动的 DOM 操作方法完美结合。

D3 的优劣:

  • 强大的 SVG 操作能力,可以非常容易的将数据映射为 SVG 属性
  • 集成了大量数据处理、布局算法和计算图形的工具方法
  • 强大的社区和丰富的 demo
  • API 太底层,复用性低,学习与使用成本高

D3 没有提供封装好的组件,在复用性、易用性方面不佳,社区里有很多基于 D3 的可视化组件库:

  • nvd3.js: 基于 D3 封装了常见的折线图、散点图、饼图,功能比较简单
  • dc.js: 除了提供了常见的图表外还提供了一些数据处理能力
  • c3.js: 一个轻量级的基于状态管理的图表库

D3 有着 Stanford 的血脉渊源,在学术界享有很高声誉,灵活强大使得它成为目前领域内使用最广泛的可视化类库,但偏底层的 API 和数据驱动模式,使得上手 D3 存在一定门槛,基于 D3 的工程实现上需要自己考虑和处理更多内容,如动画、交互、统一样式等,研发成本较高。

二、FineBI

简洁明了的数据分析工具,优点是零代码可视化、可视化图表丰富,只需要拖拖拽拽就可以完成十分炫酷的可视化效果,拥有数据整合、可视化数据处理、探索性分析、数据挖掘、可视化分析报告等功能,更重要的是个人版免费。

评价:

FineBI做到了自助式分析,图表类型丰富,数据分析功能较强大,钻取,筛选,分组等功能都有。但是对于普通没有IT基础的人来说,要想真正熟练地掌握finebi,还是有一定的难度的,需要花上几天,但是这个难度相比Excel的VBA学习还是低不少的。

三、HighCharts

HighCharts 是一个用纯 JavaScript 编写的图表库, 能够简单便捷的在 Web 应用上添加交互性图表。这是在 Web 上使用最广泛的图表,企业使用需要购买商业授权。


HighCharts 的优劣:

  • 使用门槛极低,兼容性好
  • 使用广泛,非常成熟
  • 样式比较陈旧、图表难以扩展
  • 商业上使用需要购买版权

这是图表界的 jQuery,在世界范围内是使用最多最广的一个可视化类库,但整体图表设计比较陈旧难以扩展,同时商业公司使用需要按照使用人数购买版权,比较昂贵,阿里有购买过,目前已不推荐使用。

四、ECharts

ECharts 缩写自 Enterprise Charts,企业级图表,开源来自百度数据可视化团队,是一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器,底层依赖另一个也是该团队自主研发的轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。ECharts 是目前国内唯一一个入选 GitHub 全球可视化榜单的开源项目,2w+ star 全球排名第三,社区活跃,覆盖主流前端框架和 8 种编程语言的扩展,目前国内市场占有率处于绝对领先地位。


ECharts 的优劣:

  • 丰富的图表类型,覆盖主流常规的统计图表
  • 配置项驱动,三级个性化图表样式管理
  • 移动端优化,交互和布局适配,按需打包
  • 深度的交互式数据探索
  • 地理特效(百度迁徙,百度人气,公交轨迹等效果)
  • 灵活性上不如 Vega 等基于图形语法的类库
  • 复杂关系型图表比较难定制

ECharts 能很好满足传统图表需求,但在高度灵活多样化的可视需求面前,需要另寻出路。

五、Leaflet

Leaflet 是面向移动设备的交互式地图的 JavaScript 库。 测量的 JS 只有大约 38 KB,它具有大多数开发人员需要的所有映射功能。

Leaflet 的优劣:

  • 专门针对地图应用
  • mobile 兼容性良好
  • API 简洁、支持插件机制
  • 功能比较简单,需要具备二次开发能力

地图专用,其他领域使用不上。目前 Google 地图、高德地图、百度地图都拥有自研的 JS 库。

六、Vega

Vega 是华盛顿大学计算机学院数据交互实验室(IDL)开发的一套交互图形语法,定义了数据到图形的映射规则、常见的交互语法和常见的图形元素,用户可以自由使用 Vega 语法进行组合构建出各种各样的图表。

Vega 的优劣:

  • 完全基于 JSON 语法,提供从数据到图形的映射规则
  • 支持常见的交互语法
  • 复杂的语法设计,使用和学习成本很高

Vega 在学术上有着比较完美的语法设计,但在工程易用性上比较欠缺。

七、deck.gl

deck.gl 是 Uber 可视化团队基于 WebGL 开发的面向大数据分析的可视化类库。


deck.gl 的优劣:

  • 主要以 3D 地图可视化为主,内置了地理信息可视化常见的场景
  • 支持大规模数据的可视化
  • 需要具备 WebGL 的知识,层的扩展比较复杂

deck.gl 在 3D 地图领域效果很赞,在其他领域不适用。

基于 Web 的可视化工具还有很多,上面是几个一直以来使用比较多的类库工具,以及最近涌现的一些新秀。各个类库工具特性不同,定位不同,关键要看应用场景的适用性。

八、AntV

AntV 是蚂蚁金服全新一代数据可视化解决方案,主要面向从事数据可视化应用相关的工程师和设计师,目前包括:

  • 底层绘图引擎 G:目前基于 canvas 2d 提供基础绘图能力,基于 webgl 的版本正在规划中;
  • 可视化语法类库 G2:一套数据驱动的高交互可视化图形语法,提供了丰富的图表、专业的数据处理能力、便利的扩展方式和强大交互能力;
  • 关系可视化类库 G6:专注解决流程与关系分析的图表库,集成了大量的交互,可以轻松的进行动态流程图和关系网络的开发;
  • 移动端图表类库 F2:是一套精简、高效易扩展的移动端图表库,适于对性能、体积、扩展性要求严苛的移动应用场景下使用;
  • 可视化设计指引与使用规范:统计图表以及常用场景下的可视化设计指引和使用规范;

九、G2

G2 (The Grammar Of Graphics) 是一个由纯 JavaScript 编写、强大的语义化图表语法类库,提供了一整套图形语法,可以让用户通过简单的语法搭建出无数种图表,并集成了大量的统计工具,支持多种坐标系绘制,可以让用户自由地定制各种图表。


G2 的优劣:

  • 简单、易用
  • 完备的可视化编码
  • 强大的扩展能力
  • 语法需要一定学习成本

十、G6

G6 是一个由纯 JavaScript 编写的关系数据可视化类库,提供了基本的网图和树图功能,并支持多种内置布局。G6 提供了查看和编辑两种视图,开发者可基于 G6 对关系图快速进行二次开发。


G6 的优劣:

  • 简单的语法,强大的交互能力
  • 支持多种视图,易于使用的编辑视图
  • 强大的边和节点的扩展能力
  • 现阶段上层封装比较少,使用成本比较高

 

作者:帆软
链接:https://www.zhihu.com/question/33692103/answer/796113370
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值