Vue中使用Vant-G2演示
觉得非常不错,就想整合到vue中使用。从网上看到 阿里系的图表。
·
从网上看到 阿里系的图表 antv觉得非常不错,就想整合到vue中使用。
安装
npm install @antv/g2 --save
创建vue组件 components/G2Line.vue
<template>
<div :id="id"></div>
</template>
<script>
import G2 from '@antv/g2'
export default {
data () {
return {
chart: null
}
},
props: {
charData: {
type: Array,
default: function () {
return {
data: []
}
}
},
id: String
},
mounted () {
this.drawChart()
},
methods: {
drawChart: function () {
this.chart && this.chart.destory()
this.chart = new G2.Chart({
container: this.id,
width: 600,
height: 300
})
this.chart.source(this.charData)
this.chart.scale('value', {
min: 0
})
this.chart.scale('year', {
range: [0, 1]
})
this.chart.tooltip({
crosshairs: {
type: 'line'
}
})
this.chart.line().position('year*value')
this.chart.point().position('year*value').size(4).shape('circle').style({
stroke: '#fff',
lineWidth: 1
})
this.chart.render()
}
}
}
</script>
修改HelloWorld.vue 引用组件
<template>
<div>
<g2-line :charData="serverData" :id="'c1'"></g2-line>
</div>
</template>
<script>
import G2Line from './G2Line.vue'
export default {
components: {
G2Line
},
data () {
return {
serverData: [{
year: '2010',
value: 3
}, {
year: '2011',
value: 4
}, {
year: '2012',
value: 3.5
}, {
year: '2013',
value: 5
}, {
year: '2014',
value: 4.9
}, {
year: '2015',
value: 6
}, {
year: '2016',
value: 7
}, {
year: '2017',
value: 9
}, {
year: '2018',
value: 13
}]
}
},
methods: {
// 此处省略从服务器获取数据并且赋值给this.serverData
// 推荐使用axios请求接口
}
}
</script>
效果
更多推荐
已为社区贡献2条内容
所有评论(0)