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('\n'),
            rich: {
              onleft: {
                width: '100%',
                align: 'left',
                color: '#fff',
                fontSize: 14
              },
              baseline: {
                width: '100%',
                align: 'left',
                color: '#E6D41D',
                fontSize: 14
              }
            }
          }
        },
        { value: 40, name: '本周計划待投產' },
      ];

      // 初始化 option
      this.option.title[0].text = '本周計划投產:\n'+ total +'個排期'
      this.option.series[0].data = data;

      this.$nextTick(() => {
        this.init()
      })

    },
    // 初始化圖表
    init () {
      let box = echarts.init(document.getElementById('chart'))
      box.setOption(this.option)
    }
  }
}
</script>

 

完整示例代碼下載 

 

~~ 完美實現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM