antv g2plot可视化图表在vue中的使用之四:为图表添加事件
文章目录图表事件g2plot升级图表事件对图表进行个性化设置,包含基本的折线图的配置可参考g2plot官网教程(https://g2plot.antv.vision/zh/docs/manual/getting-started)不再赘述。下面以柱状图为例,也可在https://g2plot.antv.vision/zh/examples/column/basic在线修改查看实时效果。g2plot升
图表事件event
我们经常会遇到为图表添加事件的需求,无论是对整个图表还是对图表中的某些元素添加事件,包括点击事件、双击事件、鼠标悬停等。
g2plot升级
本文使用g2plot v1版本的仪表盘作为样例。g2plot官网于2020年9月从v1升级至v2,可以在官网https://g2plot.antv.vision/zh右上角进行版本切换,本文使用v1版本的API
https://g2plot-v1.antv.vision/zh/docs/manual/plots/gauge。
另外,本文使用的npm包各版本号见package.json文件。
//package.json
"dependencies": {
"@antv/data-set": "^0.11.4",
"@antv/g2": "^4.0.15",
"@antv/g2plot": "^1.1.26",
"animate.css": "^4.1.0",
"ant-design-vue": "^1.6.2",
"axios": "^0.19.2",
"clipboard": "^2.0.6",
"core-js": "^3.6.5",
"cors": "^2.8.5",
"date-fns": "^2.14.0",
"dayjs": "^1.8.35",
"enquire.js": "^2.1.6",
"js-cookie": "^2.2.1",
"mockjs": "^1.1.0",
"moment": "^2.27.0",
"viser-vue": "^2.4.8",
"vue": "^2.6.11",
"vue-i18n": "^8.18.2",
"vue-router": "^3.3.4",
"vuedraggable": "^2.23.2",
"vuex": "^3.4.0"
},
仪表盘Gauge添加点击事件
仪表盘类型
G2Plot 仪表盘分为Gauge (基础仪表盘)、MeterGauge(刻度仪表盘)、FanGauge(扇形仪表盘)三种类型。
(https://g2plot-v1.antv.vision/zh/docs/manual/plots/gauge)
仪表盘组成
//src/views/Gauge.vue
<template>
<div id="Gaugechart"></div>
</template>
<script>
import { Gauge } from '@antv/g2plot'
export default {
mounted () {
const gaugePlot = new Gauge('gaugechart',{
title: {
visible: true,
text: '一个仪表盘',
},
value: 85,
min: 0,
max: 100,
range: [0, 25, 50, 75, 100],
color: ['#39B8FF', '#52619B', '#43E089', '#C0EDF3'],
format: (v) => {
return v + '%';
},
pivot: {
pointer: {
style: {
fill: 'red',
},
},
},
statistic: {
visible: true,
position: ['50%', '100%'],
text: 85,
color: '#2e3033',
size: 40,
}
});
gaugePlot.render();
}
}
</script>
效果如下:
仪表盘事件
仪表盘事件包含色带事件、指标卡事件、图表区域事件、标题事件、描述事件等,可在使用文档中查看具体接口。
语法为
events:{
onRangeClick:(ev)=>{} //色带点击事件,其他事件查看文档说明
}
本文为整个仪表盘图表添加一个事件,点击仪表盘后跳转到新页面。
<template>
<div id="gaugechart"></div>
</template>
<script>
import { Gauge } from '@antv/g2plot'
export default {
mounted () {
const gaugePlot = new Gauge('gaugechart',{
title: {
visible: true,
text: '一个仪表盘',
},
value: 85,
min: 0,
max: 100,
range: [0, 25, 50, 75, 100],
color: ['#39B8FF', '#52619B', '#43E089', '#C0EDF3'],
format: (v) => {
return v + '%';
},
pivot: {
pointer: {
style: {
fill: 'red',
},
},
},
statistic: {
visible: true,
position: ['50%', '100%'],
text: 85,
color: '#2e3033',
size: 40,
},
events:{
onPlotClick: () => {
this.$router.push({path:'/charts/pie'});
}
}
});
gaugePlot.render();
}
}
</script>
其他
由于v1版本不再维护了,后面还是用v2吧。
如本文对您有帮助,欢迎点赞或评论😄!!!
参考资料
https://g2plot.antv.vision/zh
https://g2plot-v1.antv.vision/zh/docs/manual/plots/gauge
https://github.com/antvis/G2Plot/issues/1107
更多推荐
所有评论(0)