写点什么

蚂蚁金服开源 | 可视化图形语法 G2 3.2:迭变

  • 2019-09-04
  • 本文字数:1550 字

    阅读完需:约 5 分钟

蚂蚁金服开源 | 可视化图形语法 G2 3.2:迭变

小蚂蚁说:

G2 是蚂蚁金服数据可视化解决方案 AntV 的一员。去年 11 月,蚂蚁金服正式对外开源了数据库驱动的高交互可视化图形语法 G2。今天,G2 发布了 3.2 版本。这个版本针对最常用的图表使用场景,新增了多种辅助元素 guide,升级和扩展了图例 legend,给大家带来更丰富完备的视觉认知体系,同时优化了坐标轴 Axis、提示信息 Tooltip 的视觉细节,还带来了呼声很高的 chart 级别主题支持,持续对图表的体验进行优化升级。

今天我们就来看看新版本具体升级了哪些地方!


更加丰富完备的视觉认知体系

「让人们在数据世界里获得视觉能力」是 AntV 始终坚持的梦想,G2 开发进入 3.x 以来,我们一直致力于通过探索数据、图形、解释信息三者之间的结合方式,丰富和优化数据可视化认知体系。

1.充分利用接近性原则的尾部跟随图例

格式塔原理的接近性原则告诉我们,在视觉体系中,元素之间的相对距离会影响对我们对群组关系的认知:通常相互靠近的元素更有可能是一组的,距离较远则相反。


根据这个原则,我们针对折线图和面积图的使用场景设计了 tail-legend: 通过 legend 配置项,图例自动跟随在折线的尾部,使折线和对应图例通过临近的空间的关系自然组织在一起,增强了图形和解释信息之间的视觉联系。



tail-legend 应用于折线图中的场景。

2.打破图形色彩固有边界

在可视化体系中,图形是天然的色彩单位,除此之外,我们也在探索其他以数据为驱动的色彩方案。G2 3.2 提供了基于数据空间的色彩组合方式 — guide().regionFilter,它允许以数据空间区域为标准进行色彩渲染,这意味着通过 regionFilter,一个图形可以渲染为不同的分段颜色,同一数据空间内的不同的图形也可以渲染为同一种颜色,丰富了 G2 的图表色彩语义和认知空间。



使用 regionFilter 复现数据可视化先驱者 William Playfair 经典案例。



regionFilter 应用于面积图。

3.数据标注的点线面

G2 3.2 新增了支持特殊数据标注的 guide 类型,帮助用户注意及理解图表中具有某种特殊含义的数据,如“峰值”、“谷值”、“异常数据”等。根据需要进行标注的数据特点,我们将之理解为三种类型:独立数据(点)、序列数据(线)、集群数据(面),这三种类型同时也暗合可视化图形映射的基本规则。目前独立数据点和序列数据点的标注已经可用,集群数据标注也将在 G2 3.3 与大家见面。



guide.dataMarker(点) | guide.dataRegion(线) 在折线图中的使用。

更灵活的组件配置

在增进视觉认知的新特性之外,一些组件的使用边界也悄悄进行了拓展,组件使用变得更加灵活,比如:


  • 图例的定位从“上下左右”四角定位拓展到了 12 个



  • 坐标轴样式支持区分连续和分类数据,使用混合图表时,共用一个轴和栅格不会造成误解



之所以说这些拓展是"悄悄"发生的,是因为我们做好了向上兼容,保证了 G2 性能和表现的稳定性,而只需要根据文档开启相应配置项,就可以体验新的组件特性了。

支持 chart 级别主题,久等了

主题对 G2 而言,就是许多配置项的集合。以往修改主题必须要全局修改,牵一发动全身。3.2 在保留全局主题切换的同时,新增了自定义主题的接口,并且支持 chart 级别的主题切换。同一个应用中也能同时存在不同主题的图表了。



试用 3.2 & 致谢

3.2 已经发布为 @antv/g2 包的最新版本(latest,3.2.4),可以通过以下途径尝鲜:



欢迎试用、加 star / 提 issue / 提 pull request。也借此机会感谢对 3.2 版本鼎力支持的社区小伙伴们(排名不分先后):


https:// github. com/aa1011372655


https:// github. com/guisturdy


https:// github. com/janjakubnanista


本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/AAZmP32kk707_zJiR-gKaQ


2019-09-04 18:331019
用户头像

发布了 150 篇内容, 共 29.7 次阅读, 收获喜欢 32 次。

关注

评论

发布
暂无评论
发现更多内容

易观CTO郭炜:如何构建企业级大数据Ad-hoc查询引擎

易观大数据

文件系统

Linuxer

管理时间还是挥霍时间?

钰湚—付晓岩

学习 时间管理 工作体会 工作哲学

产品经理的架构思维

吴世亮

架构 产品经理 电商

NodeX Component - 滴滴集团 Node.js 生态组件体系

滴滴普惠出行

数字人民币钱包短暂露面 金融诈骗伺机而起

CECBC

数字货币 钱包 货币

合约跟单软件开发,合约跟单交易所系统开发搭建

13530558032

Week12

一叶知秋

在面试中成长

escray

学习 面试

Redis 持久化--AOF

是老郭啊

redis redis持久化 aof

10万奖金等你拿!2020第四届易观OLAP算法大赛火热开启

易观大数据

数字货币交易平台搭建,去中心化交易所开发方案

13530558032

Vue+Springboot项目部署

ZRK

Vue 前后端分离 springboot 部署

Python 到底是强类型语言,还是弱类型语言?

Python猫

Java c++ Python 编程

Spring Boot中获取配置的一些方法

Geek_416be1

Spring Boot 2

人民版权 获2020中国产业区块链创新奖

CECBC

区块链 产业发展 版权

你也许还不懂静态方法和实例方法

架构师修行之路

向云再出发:如数据般飞驰的内蒙古

脑极体

controller-manager的主动驱逐

Geek_f24c45

Kubernetes k8s

新基建迎来风口 新人才仍有缺口

CECBC

人工智能 新基建 数字化基础

开发任务管理分析报告

森林

数字资产钱包开发,深圳区块链理财钱包服务商

13530558032

面试是一张窄窄的船票

escray

学习 面试

MySQL复杂where条件分析

程序员历小冰

MySQL

【译】Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases 上篇

花里胡哨

分布式数据库 异步 Amazon Aurora 日志驱动

开发者的福音,LR.NET模块化代码生成器

Learun

Java 敏捷开发 .net core 计算机程序设计艺术 软件设计

JAVA,.NET项目开发难上手?Learun敏捷开发框架解君愁

Philips

Java 敏捷开发 .net core

USDT承兑商软件开发,区块链支付系统源码搭建

13530558032

消息队列之事务消息,RocketMQ 和 Kafka 是如何做的?

yes

分布式事务 RocketMQ kafak 事务消息

OFD版式技术深度解读:卷首语

thuni

版式文档 OFD

深入了解 Rust 异步开发模式

lipi

rust 异步

蚂蚁金服开源 | 可视化图形语法 G2 3.2:迭变_文化 & 方法_Geek_cb7643_InfoQ精选文章