Echarts

main.js 注册全局echarts

// echartsimport 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()  },}