17同济交通夏令营录取情况

描述:当前是关于Echarts图表中的 示例。
 
            var fx = ['01、03',
    '02',
    '04',
    '05',
    '06',
    '07',
    '08'
]
var fxdata = []
for (var i = 0; i < fx.length; i++) {
    fxdata.push({
        name: fx[i],
        max: 20
    })
}

var data = {
    '东南大学': [
        [0, 1, 0, 0, 1, 1, 0],
        [2, 0, 1, 0, 3, 1, 0], 10
    ],
    '中南大学': [
        [2, 2, 5, 3, 21, 4, 2],
        [1, 1, 3, 1, 1, 0, 1], 47
    ],
    '中国地质大学(武汉)': [
        [0, 1, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0], 1
    ],
    '中国矿业大学': [
        [2, 4, 0, 0, 0, 0, 0],
        [1, 1, 0, 0, 0, 0, 0], 8
    ],
    '中国矿业大学(北京)': [
        [0, 1, 0, 0, 0, 0, 0],
        [0, 1, 0, 0, 1, 0, 0], 3
    ],
    '中山大学': [
        [0, 0, 1, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0], 1
    ],
    '兰州交通大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [0, 1, 0, 0, 0, 0, 0], 1
    ],
    '北京交通大学': [
        [0, 4, 1, 0, 0, 0, 0],
        [0, 0, 2, 1, 4, 0, 0], 12
    ],
    '北京科技大学': [
        [1, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0], 1
    ],
    '华中科技大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [1, 0, 0, 0, 0, 0, 0], 1
    ],
    '华南师范大学': [
        [0, 0, 1, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0], 1
    ],
    '华南理工大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [0, 0, 1, 0, 0, 0, 0], 1
    ],
    '南京农业大学': [
        [0, 1, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0], 1
    ],
    '南京理工大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 1, 0, 0, 0], 1
    ],
    '吉林大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [3, 0, 1, 0, 1, 0, 0], 5
    ],
    '同济大学': [
        [7, 9, 3, 2, 4, 4, 0],
        [22, 16, 5, 5, 21, 9, 2], 109
    ],
    '哈尔滨工业大学': [
        [1, 0, 0, 0, 2, 0, 0],
        [1, 0, 1, 0, 1, 0, 0], 6
    ],
    '哈尔滨工业大学(威海)': [
        [0, 1, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 1, 0, 0], 2
    ],
    '四川大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [1, 1, 0, 0, 0, 0, 0], 2
    ],
    '大连海事大学': [
        [0, 0, 0, 0, 4, 0, 1],
        [0, 0, 0, 0, 2, 0, 0], 7
    ],
    '大连理工大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [3, 0, 0, 0, 0, 0, 0], 3
    ],
    '天津大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [1, 0, 0, 0, 1, 0, 0], 2
    ],
    '山东大学': [
        [1, 0, 0, 0, 0, 0, 0],
        [2, 0, 0, 0, 1, 0, 0], 4
    ],
    '武汉理工大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [1, 0, 1, 0, 0, 0, 0], 2
    ],
    '清华大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 1, 0, 0], 1
    ],
    '湖南大学': [
        [2, 2, 0, 0, 0, 0, 0],
        [2, 0, 0, 0, 0, 0, 0], 6
    ],
    '苏州大学': [
        [0, 0, 0, 0, 0, 0, 0],
        [0, 0, 0, 1, 0, 0, 0], 1
    ],
    '西北工业大学': [
        [0, 1, 0, 0, 0, 0, 0],
        [0, 0, 0, 0, 0, 0, 0], 1
    ],
    '西南交通大学': [
        [0, 2, 1, 0, 5, 8, 0],
        [0, 2, 1, 1, 1, 2, 0], 23
    ],
    '郑州大学': [
        [1, 0, 0, 0, 0, 0, 0],
        [1, 1, 0, 0, 0, 0, 0], 3
    ],
    '重庆大学': [
        [0, 0, 0, 0, 0, 1, 0],
        [1, 1, 0, 0, 1, 0, 0], 4
    ],
    '长安大学': [
        [5, 2, 2, 0, 6, 1, 0],
        [10, 0, 3, 0, 4, 0, 0], 33
    ]
}
var nodedata = []
var university = '同济大学'

for (var key in data) {
    if (key == university) {
        nodedata.push({
                name: key,
                symbolSize: Math.max(data[key][2], 5),
                value: data[key][2],
                itemStyle: {
                    normal: {
                        color: 'red'
                    }
                }

            }

        )
    } else {
        nodedata.push({
                name: key,
                symbolSize: Math.max(data[key][2], 5),
                value: data[key][2],
                itemStyle: {
                    normal: {
                        color: 'rgba(18,89,147,1)'
                    }
                }

            }

        )
    }
}


option = {
    title: {
        text: '17同济交通夏令营录取情况',
        subtext: university,
        x: 'center'
    },
    backgroundColor: '#eee',
    legend: {
        data: ['没通过', '通过'],
        align: 'left',
        left: 10
    },
    toolbox: {
        feature: {
            magicType: {
                type: ['stack', 'tiled']
            },
            dataView: {}
        }
    },
    tooltip: {},
    yAxis: {
        data: fx,
        name: '方向',
        silent: false,
        axisLine: {
            onZero: true
        },
        splitLine: {
            show: false
        },
        splitArea: {
            show: false
        }
    },
    xAxis: {
        max: 25,
        inverse: false,
        splitArea: {
            show: false
        }
    },
    grid: [{
        left: 50,
        name: '人数',
        height: '80%',
        width: '20%',

    }],
    series: [{
            name: '没通过',
            type: 'bar',
            stack: 'one',
            xAxisIndex: 0,
            yAxisIndex: 0,
            data: data[university][0],            label: {
                normal: {
                    show: true,
                    position: 'inside'
                }
            },
        }, {
            name: '通过',
            type: 'bar',
            stack: 'one',
            xAxisIndex: 0,
            yAxisIndex: 0,
            data: data[university][1],            label: {
                normal: {
                    show: true,
                    position: 'inside'
                }
            },
        }, {

            type: 'graph',
            layout: 'force',

            focusNodeAdjacency: true,
            roam: true,
            data: nodedata,
            label: {
                normal: {
                    position: 'top',
                    show: true,
                    textStyle: {
                        color: 'rgba(18,89,147,1)',
                        fontSize: 12
                    },
                }
            },
            force: {
                repulsion: 100
            },
            links: [],
            tooltip: {
                formatter: function(d) {
                    return d.name + '参加人数:' + d.data.value
                }
            }
                       
        }


    ]
};
myChart.on('click', function(p) {
    console.log(p)
    if (p.seriesType == 'graph') {
        var university = p.name
        var nodedata = []
        for (var key in data) {
            if (key == university) {
                nodedata.push({
                        name: key,
                        symbolSize: Math.max(data[key][2], 5),
                        value: data[key][2],
                        itemStyle: {
                            normal: {
                                color: 'red'
                            }
                        }

                    }

                )
            } else {
                nodedata.push({
                        name: key,
                        symbolSize: Math.max(data[key][2], 5),
                        value: data[key][2],
                        itemStyle: {
                            normal: {
                                color: 'rgba(18,89,147,1)'
                            }
                        }

                    }

                )
            }
        }
        myChart.setOption({
            title: {
                subtext: university
            },
            series: [{
                data: data[university][0]
            }, {
                data: data[university][1]
            }, {
                data: nodedata
            }]
        })
    }
})