【多图】饼状图echarts 饼配置项内容和展示

配置项如下
      const colorBlueDark = 'rgb(26, 214,214)';
const colorBlueDark_50 = 'rgba(26, 214,214, 0.5)';
const colorBlueLight = 'rgb(0, 72, 195)';
const colorBlueLight_50 = 'rgb(0, 72, 195, 0.5)';
const colorGreenDark = 'rgba(34,139,34,1)';
const colorGreenLight = 'rgba(127,250,0,1)';
const colorYellow = 'rgba(255,255,0,1)';
const colorOrange = 'rgba(255,128,0,1)';
const colorRed = 'rgba(255,0,0,1)';
const colorGrayDark = '#999';
const colorWhite = '#fff';
const colorBlack = '#000';
const colorBlack_40 = 'rgba(0,0,0,0.4)';


function get_multi_pie_option(settings) {
    let defaultSetting = {
        title: '',//'Default Title',
        title_fontsize: 30,
        subtitle_fontsize: 25,
        legend_fontSize: 25,

        grid: {
            left: 0,
            right: 0,
            
        },

        // Data in as an Array
        pie_data: {
            '维度1': {
                '上周': 93,
                '本周': 28,
            },
            '维度2': {
                '上周': 89,
                '本周': 238,
            },
            '维度3': {
                '上周': 943,
                '本周': 284,
                '2周': 284,
            },
        },
        // pie_name: ['维度1', '维度2', '维度3'],
        // pie_data_label: ['上周', '本周'],
    };
    $.extend(defaultSetting, settings);

    defaultSetting.pie_name = Object.keys(defaultSetting.pie_data)
    // defaultSetting.pie_data_label = Array.from({})
    const one_pie_width = 100 / defaultSetting.pie_name.length;
    //defaultSetting.pie_data.length = Object.keys(defaultSetting.pie_data).length;
    console.log(defaultSetting);
    
    let option = {
        tooltip: {
            trigger: 'axis',
            axisPointer: { // 坐标轴指示器,坐标轴触发有效
                type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
            }
        },
        title: [
            {
                text: '【多图】饼状图',
                textStyle: {
                    color: colorBlack,
                    fontSize: defaultSetting.title_fontsize,
                },
            },
        ].concat(Array.from({length: defaultSetting.pie_name.length}, (v, i) => {
            // console.log(one_pie_width);
            let _title = {
                text: defaultSetting.pie_name[i],
                top: '20%',
                left: one_pie_width * i + '%',
                textStyle: {
                    color: colorBlack,
                    fontSize: defaultSetting.subtitle_fontsize,
                },
            }
            return _title;
        })),
        legend: [
            // {
            //     // data: defaultSetting.pie_data_label, //TODO: ????????
            //     // bottom: '80%',
            //     orient: 'horizontal',
            //     left: "5%",
            //     top: '5%',
            //     // right: "0%",
            //     textStyle: {
            //         color: colorBlack,
            //         fontSize: defaultSetting.legend_fontSize,
            //     },
            //     icon: 'roundRect',
            // },
        ].concat(Array.from({length: defaultSetting.pie_name.length}, (v,i)=>{
            let cur_pie_name = defaultSetting.pie_name[i];
            let cur_pie_date = defaultSetting.pie_data[cur_pie_name];
            
            
            return {
                data: Object.keys(cur_pie_date),
                orient: 'horizontal',
                left: "5%",
                top: '5%',
                // right: "0%",
                textStyle: {
                    color: colorBlack,
                    fontSize: defaultSetting.legend_fontSize,
                },
                icon: 'roundRect',
            };
        })),
        grid: {
            left: '0%',
            top: 'center',
            right: '0%',
            containLabel: true
        },
        series: [
            // {
            //     tooltip: {
            //         trigger: 'item',
            //         formatter: "{b} : {c} ({d}%)"
            //     },
            //     type: 'pie',
            //     center: ['15%', '50%'],
            //     radius: ['20%', '39%'],
            //     avoidLabelOverlap: false,
            //     label: {
            //         normal: {
            //             show: true,
            //             position: 'inside',
            //             formatter: '{b},{d}%'
            //         },
            //         emphasis: {
            //             show: true,
            //             textStyle: {
            //                 fontSize: '20',
            //                 fontWeight: 'bold'
            //             }
            //         }
            //     },
            //     labelLine: {
            //         normal: {
            //             show: false
            //         }
            //     },
            //     data: Array.from(defaultSetting.pie_data['维度1'].length = Object.keys(defaultSetting.pie_data['维度1']).length, (v,i)=>{
            //         return {
            //             value: defaultSetting.pie_data['维度1'].v,
            //             name: i,
            //         };
            //     }),
            // },
        ].concat(Array.from({length:defaultSetting.pie_name.length}, (v,i)=>{
                    console.log("pie_data",defaultSetting.pie_data);
                    console.log("v,i",v,i);
                    let cur_pie_name = defaultSetting.pie_name[i];
                    let cur_data = defaultSetting.pie_data[cur_pie_name];
                    let cur_data_keys = Object.keys(cur_data);
                    
                    console.log("cur_data",cur_data);
                    return {
                        tooltip: {
                            trigger: 'item',
                            formatter: "{b} : {c} ({d}%)"
                        },
                        type: 'pie',
                        center: [one_pie_width*(i+0.5)+'%', '50%'],
                        radius: one_pie_width+'%',//'33%',//['33%', '0%'],//33%=100%/3
                        avoidLabelOverlap: false,
                        label: {
                            normal: {
                                show: true,
                                position: 'inside',//'outside',//'inside',
                                formatter: '{b},{d}%'
                            },
                            emphasis: {
                                show: true,
                                textStyle: {
                                    fontSize: '20',
                                    fontWeight: 'bold'
                                }
                            }
                        },
                        labelLine: {
                            normal: {
                                show: false,//true,//set true if use "position: 'outside',"
                            }
                        },
                        data: Array.from({length:cur_data_keys.length}, (v,idx)=>{
                            let cur_data_key = cur_data_keys[idx];
                            console.log("-------");
                            console.log("idx:",idx, "cur_data_key:",cur_data_key,'cur_data',cur_data);
                            return {
                                value: cur_data[cur_data_key],
                                name: cur_data_key,
                            };
                        }),
                    };
                })),
    };

    console.log(option);
    return option;
}

option = get_multi_pie_option(null);

    
截图如下