在vue中使用G2图表的示例代码


Posted in Javascript onMarch 19, 2019

G2笔记

G2是蚂蚁金服的一套开源图表插件,因项目需要研究了一下,相比Echarts来说,G2文档比较难懂,网上也没有太多示例,所以在这里记录一些使用G2遇到的问题。

官方推荐在vue项目中使用Viser,它对G2进行了封装,使用起来可能更方便,又研究了一个Viser,结果Viser整个只对viser-react如何使用进行了介绍,对viser-vue一笔带过,官网是这么介绍的:

我们以 viser-react 举例写一个 chore 图为例,viser-vue 和 viser-ng 的用法类似。

结果用的时候发现这区别也太大了 : ( ,去github上找issue,还算有些收获,但如何定制一个符合产品需求的图形还是不知道啊,只能开啃文档,把G2和Viser的文档比对来比对去,最后得出一个结论:

直接在vue中用G2比使用viser-vue更方便(因为viser-vue一点文档没有啊!)

如果不懂G2的话,viser-vue是玩不转的,所以还是先讲G2。

1. 在vue中直接使用G2

安装

npm install @antv/g2
npm install @antv/data-set

DataSet必不可少,它是G2的数据处理模块。

文件中引用

import G2 from '@antv/g2'
import { View } from '@antv/data-set'

创建图表

先创建一个图表容器

<div id="funnelNode" ></div>

之后实例化chart对象,参考官网示例代码,这里主要记录如何修改一些配置属性来定制符合需求的图形。

  • 漏斗图分基础漏斗图(底部是方形)和尖底漏斗图,两者使用时的区别是实例化图表时几何标记对象Geom的shape()方法,shape('funnel') 表示基础漏斗,shape('pyramid') 表示尖底漏斗。(https://www.yuque.com/antv/g2-docs/api-geom)
  • 关于图表的事件处理(https://www.yuque.com/antv/g2-docs/tutorial-chart-event),官方文档中有详细介绍,这里只介绍漏斗图点击事件绑定方法,如下:
chart.on('interval:click', ev => {
  //这里写自定义事件
 })

此处使用interval:click是因为漏斗图对应的geom类型是 interval (https://www.yuque.com/antv/g2-docs/tutorial-geom)。

2. 在vue中使用viser-vue:

安装

npm install viser-vue
npm install @antv/data-set

main.js中全局引用

import Viser from 'viser-vue'
Vue.use(Viser)

绘制图表(以漏斗图为例)

Viser官网给了基础漏斗图(其实是尖底漏斗图)的例子,首先就是要把它改造成真的基础漏斗图(漏斗底部是方形),将示例代码中的<v-pyramid>标签替换成<v-funnel>标签,因为在G2中“funnel”代表基础漏斗,“pyramid”代表尖底漏斗,Viser封装时也是基于此。

替换前:

<v-pyramid
  :position="funnelOpts.position"
  :color="funnelOpts.color"
  ...
 />

替换后:

<v-funnel
  :position="funnelOpts.position"
  :color="funnelOpts.color"
  ...
 />

如果需要加点击事件,在<v-funnel>标签里使用:on-click绑定事件。

我的github项目地址:https://github.com/Inspiration1/asteroid,里面有详细的例子。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
根据分辩率调用不同的CSS.
Jan 08 Javascript
用JavaScript实现单继承和多继承的简单方法
Mar 29 Javascript
如何使Chrome控制台支持多行js模式——意外发现
Jun 13 Javascript
javascript里使用php代码实例
Dec 13 Javascript
JavaScript中的立即执行函数表达式介绍
Mar 15 Javascript
谈谈我对JavaScript DOM事件的理解
Dec 18 Javascript
使用gulp搭建本地服务器并实现模拟ajax
Apr 05 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
Apr 25 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
JS实现图片拖拽交换效果
Nov 30 Javascript
初学vue出现空格警告的原因及其解决方案
Oct 31 Javascript
JavaScript undefined及null区别实例解析
Jul 21 Javascript
Three.js中矩阵和向量的使用教程
Mar 19 #Javascript
vue+iview动态渲染表格详解
Mar 19 #Javascript
浅谈vue加载优化策略
Mar 19 #Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
Mar 19 #Javascript
详解js加减乘除精确计算
Mar 19 #Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 #jQuery
浅谈JavaScript_DOM学习篇_图片切换小案例
Mar 19 #Javascript
You might like
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
Js动态创建div
2008/09/25 Javascript
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
js中关于一个分号的崩溃示例
2013/11/11 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
2014/12/05 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
Python3实现飞机大战游戏
2020/04/24 Python
Python configparser模块常用方法解析
2020/05/22 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
大学生入党思想汇报
2014/01/14 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
《大江保卫战》教学反思
2014/04/11 职场文书
环保倡议书
2014/04/14 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
庆六一宣传标语
2014/10/08 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
同事去世追悼词
2015/06/23 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
Go语言中break label与goto label的区别
2021/04/28 Golang
sql server 累计求和实现代码
2022/02/28 SQL Server