Echarts
main.js 注册全局 echarts
// echarts
import echarts from './core/echarts'
Vue.prototype.$echarts = echarts
core/echarts.js echarts 按需引入
// 引入基本模板
let echarts = require('echarts/lib/echarts')
// 引入柱状图组件
require('echarts/lib/chart/bar')
// 引入饼图组件
require('echarts/lib/chart/pie')
// 引入提示框和 title 组件
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
export default echarts
use.vue 使用 echarts 实例
<template>
<div id="myChart" class="myChart" :style="{width:'300px', height:'150px', margin:'0 auto'}"></div>
</template>
<script>
export default {
data:{
return {
pie: {
tooltip: { // 图例的 tooltip 配置,配置项同 legend.tooltip。默认不显示,可以在 legend 文字很多的时候对文字做裁剪并且开启 tooltip
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
itemWidth: '10', // 图例标记的图形宽度
textStyle:{},
legend: { // 图例
orient: 'vertical',
x: 'right',
icon: 'round', // 和 data 里面的 icon 类型,设置的是所有 icon
data: [{ // 图例的数据可以是对象或者字符串类型
name:'直接访问', // 图例项的名称,应等于某系列的 name 值(如果是饼图,也可以是饼图单个数据的 name)// 强制设置图形为圆。icon: 'circle', // 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
// 设置文本为红色
textStyle: { // 图例项的文本样式。color: 'red'
}
}, '邮件营销', '联盟广告', '视频广告', '搜索引擎']
},
series: [
{
name: '访问来源',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
normal: {
show: false,
position: 'center'
},
emphasis: {
show: true,
textStyle: {
fontSize: '15',
fontWeight: 'bold'
}
}
},
labelLine: {
normal: {show: false}
},
data: [{ value: 335, name: '直接访问'},
{value: 310, name: '邮件营销'},
{value: 234, name: '联盟广告'},
{value: 135, name: '视频广告'},
{value: 1548, name: '搜索引擎'}
]
}
]
}
}
},
methods: {drawLine () {
// 基于准备好的 dom,初始化 echarts 实例
let myChart = this.$echarts.init(document.getElementById('myChart'))
// 绘制图表
myChart.setOption(this.pie)
},
},
mounted () { // 注意,必须 mounted 后绘制
this.drawLine()},
}