小学生小古文100课(上)

描述:当前是关于Echarts图表中的 旭日图 示例。
 
            var colors = ['#FFAE57', '#FF7853', '#EA5151', '#CC3F57', '#9A2555'];
var bgColor = '#2E2733';

var itemStyle = {
    star5: {
        color: colors[0]
    },
    star4: {
        color: colors[1]
    },
    star3: {
        color: colors[2]
    },
    star2: {
        color: colors[3]
    }
};

var data =
    //
    [
        {
            //name: '小学生小古文100课',
            name: '上',
            itemStyle: {
                normal: {
                    // color:  colors[1]
                    //color: 'transparent'
                }
            },
            children: [{
                    name: '乡村即景',
                    children: [{
                        name: '1',
                        children: [{
                            name: '《放风筝》'
                        }]
                    },
                    {
                        name: '2',
                        children: [{
                            name: '《乡村》'
                        }]
                    },
                    {
                        name: '3',
                        children: [{
                            name: '《芦花》'
                        }]
                    },
                    {
                        name: '4',
                        children: [{
                            name: '《荷》'
                        }]
                    },
                    {
                        name: '5',
                        children: [{
                            name: '《菊》'
                        }]
                    }]
                },
                {
                    name: '天的魔术',
                    children: [{
                            name: '6',
                            children: [{
                                name: '《雨》'
                            }]
                        },
                        {
                            name: '7',
                            children: [{
                                name: '《雪》'
                            }]
                        },
                        {
                            name: '8',
                            children: [{
                                name: '《日月星》'
                            }]
                        },
                        {
                            name: '9',
                            children: [{
                                name: '《日时》'
                            }]
                        }
                    ]
                },
                {
                    name: '别样的争和辩',
                    children: [{
                            name: '10',
                            children: [{
                                name: '《猫捕鱼》'
                            }]
                        },
                        {
                            name: '11',
                            children: [{
                                name: '《猫斗》'
                            }]
                        },
                        {
                            name: '12',
                            children: [{
                                name: '《龟兔竞走》'
                            }]
                        },
                        {
                            name: '13',
                            children: [{
                                name: '《五官争功》'
                            }]
                        }
                    ]
                },
                {
                    name: '草木的性情',
                    children: [{
                            name: '14',
                            children: [{
                                name: '《松》'
                            }]
                        },
                        {
                            name: '15',
                            children: [{
                                name: '《桂》'
                            }]
                        },
                        {
                            name: '16',
                            children: [{
                                name: '《莲》'
                            }]
                        },
                        {
                            name: '17',
                            children: [{
                                name: '《杨柳》'
                            }]
                        },
                        {
                            name: '18',
                            children: [{
                                name: '《岁寒三友》'
                            }]
                        }
                    ]
                },
                {
                    name: '读书要得法',
                    children: [{
                            name: '19',
                            children: [{
                                name: '《读书》'
                            }]
                        },
                        {
                            name: '20',
                            children: [{
                                name: '《读书有三刻》'
                            }]
                        },
                        {
                            name: '21',
                            children: [{
                                name: '《读书须有疑》'
                            }]
                        },
                        {
                            name: '22',
                            children: [{
                                name: '《铁杵磨针》'
                            }]
                        }
                    ]
                },
                {
                    name: '智慧少年',
                    children: [{
                            name: '23',
                            children: [{
                                name: '《曹冲称象》'
                            }]
                        },
                        {
                            name: '24',
                            children: [{
                                name: '《道边李苦》'
                            }]
                        },
                        {
                            name: '25',
                            children: [{
                                name: '《破瓮救友》'
                            }]
                        },
                        {
                            name: '26',
                            children: [{
                                name: '《孔融让梨》'
                            }]
                        }
                    ]
                },
                {
                    name: '寓言故事',
                    children: [{
                            name: '27',
                            children: [{
                                name: '《守株待兔》'
                            }]
                        },
                        {
                            name: '28',
                            children: [{
                                name: '揠苗助长》'
                            }]
                        },
                        {
                            name: '29',
                            children: [{
                                name: '《狐假虎威》'
                            }]
                        },
                        {
                            name: '30',
                            children: [{
                                name: '《南辕北辙》'
                            }]
                        }
                    ]
                },
                {
                    name: '神话传说',
                    children: [{
                            name: '31',
                            children: [{
                                name: '《盘古开天地》'
                            }]
                       },
                       {
                            name: '32',
                            children: [{
                                name: '《夸父逐日》'
                            }]
                        },
                        {
                            name: '33',
                            children: [{
                                name: '《共工触山》'
                            }]
                        },
                        {
                            name: '34',
                            children: [{
                                name: '《刑天舞干戚》'
                            }]
                        },
                        {
                            name: '35',
                            children: [{
                                name: '《舜耕历山》'
                            }]
                        }
                   ]
                },
                {
                    name: '那些勤奋的人儿',
                    children: [{
                            name: '36',
                            children: [{
                                name: '《欧阳苦读》'
                            }]
                        },
                        {
                            name: '37',
                            children: [{
                                name: '《推敲》'
                            }]
                        },
                        {
                            name: '38',
                            children: [{
                                name: '《怀素写字》'
                            }]
                        },
                        {
                            name: '39',
                            children: [{
                                name: '《王冕好学》'
                            }]
                        },
                        {
                            name: '40',
                            children: [{
                                name: '《宋濂嗜学》'
                            }]
                        }
                    ]
                },
                {
                    name: '人类的朋友',
                    children: [{
                            name: '41',
                            children: [{
                                name: '《母鸡》'
                            }]
                        },
                        {
                            name: '42',
                            children: [{
                                name: '《义鹊》'
                            }]
                        },
                        {
                            name: '43',
                            children: [{
                                name: '《鹦鹉灭火》'
                            }]
                        },
                        {
                            name: '44',
                            children: [{
                                name: '《义犬救主》'
                            }]
                        },
                        {
                            name: '45',
                            children: [{
                                name: '《已死的母熊》'
                            }]
                        }
                    ]
                },
                {
                    name: '小故事里的大智慧',
                    children: [{
                            name: '46',
                            children: [{
                                name: '《叶公好龙》'
                            }]
                        },
                        {
                            name: '47',
                            children: [{
                                name: '《郑人买履》'
                            }]
                        },
                        {
                            name: '48',
                            children: [{
                                name: '《买椟还珠》'
                            }]
                        },{
                            name: '49',
                            children: [{
                                name: '《自相矛盾》'
                            }]
                        },
                        {
                            name: '50',
                            children: [{
                                name: '《滥竽充数》'
                            }]
                        }
                    ]
                }
            ]
        }
    ]

for (var j = 0; j < data.length; ++j) {
    var level1 = data[j].children;
    for (var i = 0; i < level1.length; ++i) {
        var block = level1[i].children;
        var bookScore = [];
        var bookScoreId;
        for (var star = 0; star < block.length; ++star) {
            var style = (function(name) {
                switch (name) {
                    //  case '5☆':
                    //      bookScoreId = 0;
                    //      return itemStyle.star5;
                    //  case '4☆':
                    //      bookScoreId = 1;
                    //      return itemStyle.star4;
                    //  case '3☆':
                    //      bookScoreId = 2;
                    //      return itemStyle.star3;
                    //  case '2☆':
                    //      bookScoreId = 3;
                    //      return itemStyle.star2;
                    default:
                        bookScoreId = 0;
                        return itemStyle.star5;
                }
            })(block[star].name);

            block[star].label = {
                //color: style.color,
                downplay: {
                    opacity: 0.5
                }
            };

            if (block[star].children) {
                style = {
                    opacity: 1,
                    // color: style.color
                };
                block[star].children.forEach(function(book) {
                    book.value = 1;
                    book.itemStyle = style;

                    book.label = {
                        // color: style.color
                    };

                    var value = 1;
                    if (bookScoreId === 0 || bookScoreId === 3) {
                        value = 5;
                    }

                    if (bookScore[bookScoreId]) {
                        bookScore[bookScoreId].value += value;
                    } else {
                        bookScore[bookScoreId] = {
                            // color: colors[bookScoreId],
                            value: value
                        };
                    }
                });
            }
        }

        level1[i].itemStyle = {
            //   color: data[j].itemStyle.color
        };
    }
}

option = {
    title: {
        text: '小学生小古文100课(上)',
        left: 'center'
    },
    textStyle: {
        fontFamily: 'Microsoft YaHei'
    },
    //backgroundColor: bgColor,
    //color: colors,
    series: [{
        type: 'sunburst',
        center: ['50%', '52%'],
        data: data,
        sort: function(a, b) {
            if (a.depth === 1) {
                return b.getValue() - a.getValue();
            } else {
                return a.dataIndex - b.dataIndex;
            }
        },
        label: {
            rotate: 'radial',
            color: bgColor
        },
        itemStyle: {
            //borderColor: bgColor,
            borderWidth: 1
        },
        levels: [{}, {
            r0: '0.5%',
            r: '28%',
            label: {
                rotate: 0,
                fontSize: 18,
                fontWeight: 600
            },
            itemStyle: {
                // shadowBlur: 2,
                //   shadowColor: colors[2],
                color: '#e0e0e0' // 'transparent'
            },
        }, {
            r0: '30%',
            r: '61%',
            itemStyle: {
                // shadowBlur: 2,
                //   shadowColor: colors[2],
                color: '#bdbdbd' // 'transparent'
            },
        }, {
            r0: '62%',
            r: '67%',
            itemStyle: {
                // shadowBlur: 2,
                //   shadowColor: colors[2],
                color: '#9e9e9e' // 'transparent'
            },
            label: {
                rotate: 'tangential',
                fontSize: 10,
                //color: colors[0]
            }
        }, {
            r0: '68%',
            r: '70%',
            itemStyle: {
                color: '#616161',
                shadowBlur: 80,
                shadowColor: colors[0],

            },
            label: {
                position: 'outside',
                //textShadowBlur: 5,
                //textShadowColor: '#333',
            },
            downplay: {
                label: {
                    opacity: 0.5
                }
            }
        }]
    }]
};