1

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: '搜索引擎' }
            ],
            itemStyle: { // 设置实例颜色
              normal: {
                color: function (params) {
                // 自定义颜色
                  var colorList = [
                    '#FFC069', '#FFBB96', '#95DE64', '#5CDBD3', '#69C0FF',
                  ]
                  return colorList[params.dataIndex]
                }
              },
            }
          }
        ]
      }
    }
  },
  methods: {
    drawLine () {
      // 基于准备好的dom,初始化echarts实例
      let myChart = this.$echarts.init(document.getElementById('myChart'))
      // 绘制图表
      myChart.setOption(this.pie)
    },
  },
  mounted () { // 注意,必须mounted后绘制
    this.drawLine()
  },
}

liuoomei
175 声望18 粉丝

走出舒适区,外面的风景格外迷人!