总成绩统计图表

描述:当前是关于Echarts图表中的 饼图 示例。
 
            var data = [
  {
    name: '连锁1班',
    dataValue: [
      {
        name: '优秀(90-100)', //分段
        value: 49, //占比
      },
      {
        name: '良好(80-90)', //分段
        value: 58, //占比
      },
      {
        name: '中等(70-80)', //分段
        value: 11, //占比
      },
      {
        name: '及格(60-70)', //分段
        value: 16, //占比
      },
      {
        name: '不及格(0-60)', //分段
        value: 39, //占比
      },
    ],
  },
  {
    name: '连锁2班',
    dataValue: [
      {
        name: '优秀(90-100)', //分段
        value: 39, //占比
      },
      {
        name: '良好(80-90)', //分段
        value: 52, //占比
      },
      {
        name: '中等(70-80)', //分段
        value: 24, //占比
      },
      {
        name: '及格(60-70)', //分段
        value: 30, //占比
      },
      {
        name: '不及格(0-60)', //分段
        value: 10, //占比
      },
    ],
  },
  {
    name: '连锁3班',
    dataValue: [
      {
        name: '优秀(90-100)', //分段
        value: 49, //占比
      },
      {
        name: '良好(80-90)', //分段
        value: 58, //占比
      },
      {
        name: '中等(70-80)', //分段
        value: 11, //占比
      },
      {
        name: '及格(60-70)', //分段
        value: 16, //占比
      },
      {
        name: '不及格(0-60)', //分段
        value: 39, //占比
      },
    ],
  },
  {
    name: '连锁4班',
    dataValue: [
      {
        name: '优秀(90-100)', //分段
        value: 59, //占比
      },
      {
        name: '良好(80-90)', //分段
        value: 38, //占比
      },
      {
        name: '中等(70-80)', //分段
        value: 17, //占比
      },
      {
        name: '及格(60-70)', //分段
        value: 26, //占比
      },
      {
        name: '不及格(0-60)', //分段
        value: 50, //占比
      },
    ],
  },
  {
    name: '连锁5班',
    dataValue: [
      {
        name: '优秀(90-100)', //分段
        value: 40, //占比
      },
      {
        name: '良好(80-90)', //分段
        value: 68, //占比
      },
      {
        name: '中等(70-80)', //分段
        value: 18, //占比
      },
      {
        name: '及格(60-70)', //分段
        value: 46, //占比
      },
      {
        name: '不及格(0-60)', //分段
        value: 59, //占比
      },
    ],
  },
  {
    name: '连锁6班',
    dataValue: [
      {
        name: '优秀(90-100)', //分段
        value: 49, //占比
      },
      {
        name: '良好(80-90)', //分段
        value: 28, //占比
      },
      {
        name: '中等(70-80)', //分段
        value: 31, //占比
      },
      {
        name: '及格(60-70)', //分段
        value: 20, //占比
      },
      {
        name: '不及格(0-60)', //分段
        value: 29, //占比
      },
    ],
  },
];

var dataStyle = {
  normal: {
    label: {
      show: false,
    },
    labelLine: {
      show: false,
    },
  },
};

var textStyle = {
  color: '#333',
  fontWeight: 'normal',
  fontSize: 14,
};

var placeHolderStyle = {
  normal: {
    color: 'rgba(0,0,0,0)',
    label: {
      show: false,
    },
    labelLine: {
      show: false,
    },
  },
  emphasis: {
    color: 'rgba(0,0,0,0)',
  },
};
var titleArr = [], //班级数组
  seriesArr = []; //

data.forEach(function (item, index) {
  titleArr.push({
    text: item.name,
    left: index > 3 ? (index - 4) * 24 + 14 + '%' : index * 24 + 14 + '%',
    top: index > 3 ? '85%' : '42%',
    textAlign: 'center',
    textStyle: textStyle,
  });

  seriesArr.push({
    name: '',
    type: 'pie',
    radius: '26%',
    center: [index > 3 ? (index - 4) * 24 + 14 + '%' : index * 24 + 14 + '%', index > 3 ? '70%' : '27%'],
    label: {
      normal: {
        formatter: '{a|{b}}\n{per|{d}%}',
        rich: {
          a: {
            fontSize: 14,
            color: '#333',
            lineHeight: 16,
            align: 'center',
          },
          per: {
            color: '#333',
            fontSize: 14,
            align: 'right',
            padding: [5, 0, 0, 0],
            lineHeight: 16,
          },
        },
      },
    },
    emphasis: {
      itemStyle: {
        shadowBlur: 10,
        shadowOffsetX: 0,
        shadowColor: 'rgba(0, 0, 0, 0.5)',
      },
    },

    data: [
      {
        value: item.dataValue[0].value,
        name: item.dataValue[0].name,
      },
      {
        value: item.dataValue[1].value,
        name: item.dataValue[1].name,
      },
      {
        value: item.dataValue[2].value,
        name: item.dataValue[2].name,
      },
      {
        value: item.dataValue[3].value,
        name: item.dataValue[3].name,
      },
      {
        value: item.dataValue[4].value,
        name: item.dataValue[4].name,
      },
    ],
  });
});

option = {
  color: ['#0cb4d7', '#9acff9', '#80d5ac', '#fe9c3a', '#eb7c6f'],
  legend: {
    textStyle: textStyle,
  },
  tooltip: {
    trigger: 'item',
    formatter: '分段 : {b}<br>占比 : {c}%',
  },
  title: titleArr,
  series: seriesArr,
};