在Vue中使用antv
使用antv/g2(两种使用方式)
一,在vue原型中使用
1.首先安装antv/g2
yarn add @antv/g2 --save
2.在main.js中挂在到vue原型实例中
const G2 = require('@antv/g2')Vue.prototype.$G2 = G2
3.在vue文件中可以直接在mounted生命周期中直接使用
<template> <div> <div id="c1"></div> </div></template><script>export default { mounted() { this.initComponent(); }, data() { return { msg: "", chart: null, data: [ { genre: "Sports", sold: 275 }, { genre: "Strategy", sold: 115 }, { genre: "Action", sold: 120 }, { genre: "Shooter", sold: 350 }, { genre: "Other", sold: 150 } ] }; }, methods: { initComponent() { const chart = new this.$G2.Chart({ container: "c1", width: 600, height: 300 }); chart.source(this.data); chart .interval() .position("genre*sold") .color("genre"); this.chart = chart; this.chart.render(); } }};</script>
二,按需引用
1.还是安装atv/g2
yarn add @antv/g2 --save
2.直接在组件中按需引入
<template> <div> <div id="l1"></div> </div></template><script>import { Chart } from "@antv/g2";export default { data() { return { year: [ { year: "1991", value: 3 }, { year: "1992", value: 4 }, { year: "1993", value: 3.5 }, { year: "1994", value: 5 }, { year: "1995", value: 4.9 }, { year: "1996", value: 6 }, { year: "1997", value: 7 }, { year: "1998", value: 9 }, { year: "1999", value: 13 } ] }; }, mounted() { this.initLineChart() }, methods: { initLineChart() { const chart = new Chart({ container: "l1", autoFit: true, height: 500 }); chart.data(this.year); chart.scale({ year: { range: [0, 1] }, value: { min: 0, nice: true } }); chart.tooltip({ showCrosshairs: true, // 展示 Tooltip 辅助线 shared: true }); chart .line() .position("year*value") .label("value"); chart.point().position("year*value"); chart.render(); } }};</script><style scoped></style>