数据分布

描述:当前是关于Echarts图表中的 矩形树图 示例。
 
            var testData = [
    {
    value: 9422,
    children: [
        {
            name:"公众聚集场所",
            value:40,
        },
        {
            name:"学校、医院、养老院、疗养院、托儿所、幼儿园",
            value:20
        },
        {
            name:"国家机关",
            value:10
        },
        {
            name:"广播、电视和邮政、通信枢纽",
            value:10
        },
        {
            name:"公共图书馆、展览馆、博物馆、档案馆以及具有火灾危险性的文物保护单位",
            value:80
        },
        {
            name:"易燃易爆化学物品的生产、充装、存储、供应、销售单位",
            value:10
        },
        {
            name:"劳动密集型生产、加工企业",
            value:10
        },
        {
            name:"广播、电视和邮政、通信枢纽",
            value:10
        },
        {
            name:"重要科研单位",
            value:45,
            // children:[
            //     {name:"主卧",value:25},
            //     {name:"次卧",value:20}
            // ]
        }
    ]
    }]
    var color = [
    "#6F3FE1",
    "#5781FD",
    "#4DB1CB",
    "#3EBD7C",
    "#F7A925",
    "#bda29a",
    "#ca8622",
    "#749f83",
    "#6e7074",
    "#546570",
    "#c4ccd3"
];
    
    var bsLine = [];
var bsLineV = {};
for (var key in testData) {
    bsLine.push(testData[key].name);
    bsLineV[testData[key].name] = testData[key].value;
}
var sbsLineV = Object.keys(bsLineV).sort(function(a, b) {
    return -(bsLineV[a] - bsLineV[b]);
});
function colorMappingChange(value) {
        var levelOption = getLevelOption(value);
        chart.setOption({
            series: [{
                levels: levelOption
            }]
        });
    }

    var formatUtil = echarts.format;

    function getLevelOption() {
        return [
            {
            color: color,
            itemStyle: {
                normal: {
                    borderWidth: 0,
                    borderColor: '#fff',
                    gapWidth: 2
                }
            }
        },
        {
            //colorSaturation: [0.35, 0.6],
            colorAlpha: [1, 0.5],
            upperLabel: {
                normal: {
                    color: '#555555',
                    show: true,
                    height: 30
                }
            },
            itemStyle: {
                normal: {
                    borderWidth: 5,
                    borderColor: '#EFEFEF',
                    gapWidth: 1
                },
                emphasis: {
                    borderColor: '#ccc'
                }
            }
        }
        ];
    }

    option = {
        title:{
            text:"数据分布"
        },
        tooltip: {
            trigger: 'item',
            formatter: "{b} : {c}"
            // formatter: function (info) {
            //     debugger
            //     var value = info.value;
            //     var treePathInfo = info.treePathInfo;
            //     var treePath = [];

            //     for (var i = 1; i < treePathInfo.length; i++) {
            //         treePath.push(treePathInfo[i].name);
            //     }

            //     return [
            //         '<div class="tooltip-title">' + formatUtil.encodeHTML(treePath) + '</div>',
            //         '数量: ' + formatUtil.addCommas(value),
            //     ].join('');
            // }
        },

        series: [
            {
                name:'',
                type:'treemap',
                visibleMin: 300,
                breadcrumb: {
                    show: false
                },
                label: {
                    show: true,
                    formatter: '{b}'
                },
                itemStyle: {
                    normal: {
                        borderColor: '#fff'
                    }
                },
                levels: getLevelOption(),
                data: testData
            }
        ]
    }
    
    myChart.setOption(option, true);
    
    
    
    // 点击事件
myChart.on("click", function(param) {
    console.log(param)
    debugger
    var selectedItem = param.name;
    //alert(selectedItem);
    // for (var key in dtlData) {
    //     if (dtlData[key].name === selectedItem) {
    //         for (var ki in sbsLineV) {
    //             if (sbsLineV[ki] === selectedItem) {
    //                 bsColor = color[ki]
    //             }
    //         }
    //         series12.levels[1].color = [bsColor]
    //         series12.data = [dtlData[key]]
    //         option.series = [series11, series12]
    //         myChart.setOption(option, true);
    //     }
    // }

    if (bsLine.indexOf(selectedItem) < 0) {
        myChart.setOption(option, true);
    }
});