zoukankan      html  css  js  c++  java
  • echarts实现pie自定义标签

    echarts实现pie自定义标签

    一、环境

      vue + echarts 实现饼图的自定义标签

    二、实现效果

      

    三、实现方式

    import * as echarts from 'echarts';
    export default {
      data () {
        return {
          option: {
            tooltip: {
              trigger: 'item'
            },
            color: ['#40E5F1', '#E6D41D', '#4544CC',],
            title: [{
              text: '',
              textAlign: 'center',
              left: 360,
              bottom: 280,
              textStyle: {
                color: '#fff',
                fontSize: 18,
                fontWeight: 400
              }
            }],
            series: [
              {
                left: 20,
                center: ['50%', '50%'],
                type: 'pie',
                radius: ['30%', '50%'],
                avoidLabelOverlap: false,
                label: {
                  formatter: '{b}: {c}个排期',
                  color: '#fff',
                  fontSize: 14
                },
                data: []
              }
            ]
          }
        }
      },
      mounted () {
    
        this.getData()
      },
      methods: {
        // 获取数据
        async getData () {
    
          // TODO 请求后端获取数据
          let successRate = 83.33; //投产成功率
          let baseRate = 88; //投产成功率基线
          let total = 52 // 总数
          let data = [
            { value: 10, name: '本周累计成功投产' },
            { value: 2, name: '本周异常回退',
              label: {
                formatter: [
                  '{b}:{c}个排期',
                  '{onleft|投产成功率:'+ successRate +'%}',
                  '{baseline|投产成功率基线:'+ baseRate +'%}'
                ].join('
    '),
                rich: {
                  onleft: {
                     '100%',
                    align: 'left',
                    color: '#fff',
                    fontSize: 14
                  },
                  baseline: {
                     '100%',
                    align: 'left',
                    color: '#E6D41D',
                    fontSize: 14
                  }
                }
              }
            },
            { value: 40, name: '本周计划待投产' },
          ];
    
          // 初始化 option
          this.option.title[0].text = '本周计划投产:
    '+ total +'个排期'
          this.option.series[0].data = data;
    
          this.$nextTick(() => {
            this.init()
          })
    
        },
        // 初始化图表
        init () {
          let box = echarts.init(document.getElementById('chart'))
          box.setOption(this.option)
        }
      }
    }
    </script>

    完整示例代码下载 

    ~~ 完美实现

    让每一天过的有意义!
  • 相关阅读:
    lua学习笔记(一)
    使用npm安装一些包失败了的看过来(npm国内镜像介绍)
    ubuntu和win7 64双系统 安装
    virtualbox共享文件夹
    今天来谈谈三大基础排序选择排序、冒泡排序、插入排序
    vue入门七之vuex的使用
    简单介绍下js的随机数的生成
    来简单谈谈JavaScript两个数的交换问题
    VUE入门六之过滤器
    VUE入门五之路由的使用
  • 原文地址:https://www.cnblogs.com/BillyYoung/p/14690938.html
Copyright © 2011-2022 走看看