饼图

作者: 小北呀_ | 来源:发表于2023-01-12 14:32 被阅读0次
    image.png

    如下
    main.js

    import echarts from 'echarts'
    Vue.prototype.$echarts = echarts
    
    
    <div id="myChart_1" class="largeChart" />
    <div id="myChart_2" class="largeChart" />
    <div id="myChart_3" class="largeChart" />
    
      mounted() {
        this.getChart()
      },
      methods: {
        getChart() {
          const myChart1 = this.$echarts.init(document.getElementById('myChart_1'))
          var colorList = ['#FDB36A', '#FD866A', '#9E87FF', '#58D5FF']
          const data = [
            { value: 335, name: '义务兵' },
            { value: 310, name: '干部' },
            { value: 274, name: '士官' }
          ]
          const option = {
          // 悬浮展示
            tooltip: {
              trigger: 'item',
              formatter: '{b} : {c} ({d}%)'
            },
            // 底部小圆点
            legend: {
              left: 'center',
              bottom: '10',
              icon: 'circle',
              textStyle: {
                color: '#fff'
              },
              data: data.map(item => item.name)
            },
            series: [
              {
                type: 'pie',
                // 玫瑰图
                roseType: 'radius',
                radius: '50%',
                center: ['50%', '40%'],
                data: data,
                // 饼图线上字的颜色
                // label: {
                //   color: '#fff'
                // },
                // 饼图线的颜色
                // labelLine: {
                //   lineStyle: {
                //     color: 'rgba(255, 255, 255, 0.3)'
                //   },
                //   smooth: 0.2,
                //   length: 10,
                //   length2: 20
                // },
                // 饼图本身颜色
                itemStyle: {
                  normal: {
                    color: function(params) {
                      return colorList[params.dataIndex]
                    }
                  }
                },
                animationType: 'scale',
                animationEasing: 'elasticOut'
              }
            ]
          }
          myChart1.setOption(option)
    
          const myChart2 = this.$echarts.init(document.getElementById('myChart_2'))
          const option2 = {
          // 悬浮展示
            tooltip: {
              trigger: 'item',
              formatter: '{b} : {c} ({d}%)'
            },
            // 底部小圆点
            legend: {
              left: 'center',
              bottom: '10',
              icon: 'roundRect',
              textStyle: {
                color: '#fff'
              },
              data: data.map(item => item.name)
            },
            // 中心字
            graphic: {
              type: 'text',
              left: 'center',
              top: '35%',
              style: {
                text: '9999',
                textAlign: 'center',
                fill: '#fff',
                fontSize: 20
              }
            },
            series: [
              {
                type: 'pie',
                // 玫瑰图
                radius: ['43%', '60%'],
                center: ['50%', '40%'],
                data: data,
                // 饼图线上字的颜色
                // label: {
                //   color: '#fff'
                // },
                // 饼图线的颜色
                // labelLine: {
                //   lineStyle: {
                //     color: 'rgba(255, 255, 255, 0.3)'
                //   },
                //   smooth: 0.2,
                //   length: 10,
                //   length2: 20
                // },
                // 饼图本身颜色
                itemStyle: {
                  normal: {
                    color: function(params) {
                      return colorList[params.dataIndex]
                    }
                  }
                },
                animationType: 'scale',
                animationEasing: 'elasticOut'
              }
            ]
          }
          myChart2.setOption(option2)
    
          const myChart3 = this.$echarts.init(document.getElementById('myChart_3'))
          const option3 = {
          // 悬浮展示
            tooltip: {
              trigger: 'item',
              formatter: '{b} : {c} ({d}%)'
            },
            // 底部小圆点
            legend: {
              left: 'center',
              bottom: '10',
              icon: 'circle',
              textStyle: {
                color: '#fff'
              },
              data: data.map(item => item.name)
            },
            series: [
              {
                type: 'pie',
                // 玫瑰图
                radius: ['5%', '60%'],
                center: ['50%', '40%'],
                data: data,
                // 饼图线上字的颜色
                label: {
                  formatter: '{d}%'
                // formatter: ['10%', '10%', '10%']
                  //   color: '#fff'
                },
                // 饼图线的颜色
                labelLine: {
                  lineStyle: {
                    color: 'rgba(255, 255, 255, 0)'
                  },
                  smooth: 0.2,
                  length: 10,
                  length2: 15
                },
                // 饼图本身颜色
                itemStyle: {
                  normal: {
                    color: function(params) {
                      return colorList[params.dataIndex]
                    }
                  }
                },
                animationType: 'scale',
                animationEasing: 'elasticOut'
              }
            ]
          }
          myChart3.setOption(option3)
        }
      }
    
    

    相关文章

      网友评论

          本文标题:饼图

          本文链接:https://www.haomeiwen.com/subject/pmhwcdtx.html