| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 | const myCharte = echarts.init(document.getElementById('demo'), 'vintage');datae = [{        name: "今日",        value:100    },    {        name: "本周",        value: 100    },    {        name: "本月",        value:100    },];arrName = getArrayValue(datae, "name");arrValue = getArrayValue(datae, "value");sumValue = eval(arrValue.join('+'));objData = array2obj(datae, "name");optionData = getData(datae)function getArrayValue(array, key) {    var key = key || "value";    var res = [];    if (array) {        array.forEach(function(t) {            res.push(t[key]);        });    }    return res;}function array2obj(array, key) {    var resObj = {};    for (var i = 0; i < array.length; i++) {        resObj[array[i][key]] = array[i];    }    return resObj;}function getData(data) {    var res = {        series: [],        yAxis: []    };    for (let i = 0; i < data.length; i++) {        // console.log([70 - i * 15 + '%', 67 - i * 15 + '%']);        res.series.push({            name: '',            type: 'pie',            clockWise: false, //顺时加载            hoverAnimation: false, //鼠标移入变大            radius: [80 - i * 15 + '%', 70 - i * 15 + '%'],            center: ["50%", "55%"],            label: {                show: false            },            itemStyle: {                label: {                    show: false,                },                labelLine: {                    show: false                },                borderWidth: 0,            },            data: [{                value: datae[i].value,                name: datae[i].name            }, {                value: sumValue - data[i].value,                name: '',                itemStyle: {                    color: "rgba(0,0,0,0)",                    borderWidth: 0                },                tooltip: {                    show: false                },                hoverAnimation: false            }]        });        res.series.push({            name: '',            type: 'pie',            silent: true,            z: 1,            clockWise: false, //顺时加载            hoverAnimation: false, //鼠标移入变大            radius: [80 - i * 15 + '%', 70 - i * 15 + '%'],            center: ["50%", "55%"],            label: {                show: false            },            itemStyle: {                label: {                    show: false                },                labelLine: {                    show: false                },                borderWidth: 0,            },            data: [{                value: 7.5,                itemStyle: {                    color: "rgb(3, 31, 62)",                    borderWidth: 0                },                tooltip: {                    show: false                },                hoverAnimation: false            }, {                value: 2.5,                name: '',                itemStyle: {                    color: "rgba(0,0,0,0)",                    borderWidth: 0                },                tooltip: {                    show: false                },                hoverAnimation: false            }]        });        res.yAxis.push((datae[i].value / sumValue * 100).toFixed(2) + "%");    }    return res;}option45 = {    legend: {        show: true,        selectedMode:        false,        icon: "circle",        top: "center",        top: '15%',        bottom: '53%',        left: "50%",        data: arrName,        width: 40,        padding: [0, 16],        itemGap: 25,        formatter: function(name) {            return "{title|" + name + "}{value|" + (objData[name].value) + "}  {title|项}"        },        textStyle: {            rich: {                title: {                    fontSize: 20,                    lineHeight: 30,                    color: "#00e4ff"                },                value: {                    fontSize:30,					padding:[0,8,0,10],                    lineHeight: 20,                    color: "#fcdc00"                }            }        },    },    tooltip: {        show: true,        trigger: "item",        formatter: "{a}{b}:{c}({d}%)",        textStyle:{            fontSize:30        }    },    color: ['#009944', '#ffa531', '#00ccff', 'rgb(52, 52, 176)'],    xAxis: [{        show: false    }],    series: optionData.series};		myCharte.setOption(option45);
 |