欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-04 22:03:58
g2笔记 g2是蚂蚁金服的一套开源图表插件,因项目需要研究了一下,相比echarts来说,g2文档比较难懂,网上也没有太多示例,所以在这里记录一些使用g2遇到的问题。...

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') 表示尖底漏斗。()
  • 关于图表的事件处理(),官方文档中有详细介绍,这里只介绍漏斗图点击事件绑定方法,如下:
 chart.on('interval:click', ev => {
  //这里写自定义事件
 })

此处使用interval:click是因为漏斗图对应的geom类型是 interval ()。

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,里面有详细的例子。

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