多图表汇总

描述:当前是关于Echarts图表中的 示例。
 
            var color = [{
    color: '#2EE67D',
    step: 4
}, {
    color: '#FFD54A',
    step: 5
}];
var colors = color.map(({
    color,
    step
}, i) => {
    return new gradientColor(color, '#ffffff', step);
});

//获取两颜色区间渐变色
function gradientColor(startColor, endColor, step) {
    const startRGB = hexToRgb(startColor), //转换为rgb数组模式
        startR = startRGB.r,
        startG = startRGB.g,
        startB = startRGB.b,
        endRGB = hexToRgb(endColor),
        endR = endRGB.r,
        endG = endRGB.g,
        endB = endRGB.b,
        sR = (endR - startR) / step, //总差值
        sG = (endG - startG) / step,
        sB = (endB - startB) / step;
    var colorSteps = [];
    for (var i = 0; i < step; i++) {
        var hex = rgbToHex('rgb(' + parseInt((sR * i + startR)) + ',' + parseInt((sG * i + startG)) + ',' + parseInt((sB * i + startB)) + ')');
        colorSteps.push(hex);
    }

    function hexToRgb(hex, opacity = 1) {
        return {
            r: parseInt("0x" + hex.slice(1, 3)),
            g: parseInt("0x" + hex.slice(3, 5)),
            b: parseInt("0x" + hex.slice(5, 7)),
            rgb: "rgb(" + parseInt("0x" + hex.slice(1, 3)) + "," + parseInt("0x" + hex.slice(3, 5)) + "," + parseInt("0x" + hex.slice(5, 7)) + ")",
            rgba: "rgba(" + parseInt("0x" + hex.slice(1, 3)) + "," + parseInt("0x" + hex.slice(3, 5)) + "," + parseInt("0x" + hex.slice(5, 7)) + "," + opacity + ")",
        };
    }

    function rgbToHex(color) {
        var rgb = color.split(',')
        var r = parseInt(rgb[0].split('(')[1])
        var g = parseInt(rgb[1])
        var b = parseInt(rgb[2].split(')')[0])
        var hex = "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
        return hex
    }
    return colorSteps;
}

option = {
    backgroundColor: '#161C27',
    tooltip: {
        trigger: 'item'
    },
    title: [{
        text: '病理分型',
        subtext: '总计 1015',
        top: '5%',
        left: '8%',
        textAlign: 'center',
        textStyle: {
            color: '#fff'
        },
        subtextStyle: {
            color: '#fff'
        }
    }, {
        text: '分期',
        subtext: '总计 862',
        top: '5%',
        left: '67%',
        textAlign: 'center',
        textStyle: {
            color: '#fff'
        },
        subtextStyle: {
            color: '#fff'
        }
    }, {
        text: '转移',
        subtext: '总计 1015',
        left: '8%',
        top: '53%',
        textAlign: 'center',
        textStyle: {
            color: '#fff'
        },
        subtextStyle: {
            color: '#fff'
        }
    }, {
        text: '治疗方案',
        subtext: '总计 672',
        left: '67%',
        top: '53%',
        textAlign: 'center',
        textStyle: {
            color: '#fff'
        },
        subtextStyle: {
            color: '#fff'
        }
    }],
    grid: [{
            left: '35%',
            top: '15%',
            width: '220px',
            height: '200px'
        },
        {
            left: '35%',
            top: '65%',
            width: '220px',
            height: '200px'
        },
    ],
    xAxis: [{
            type: 'value',
            gridIndex: 0,
            axisTick: {
                show: false
            },
            splitLine: {
                show: false
            },
            axisLabel: {
                show: false
            },
            axisLine: {
                show: false,
            },
        },
        {
            type: 'category',
            gridIndex: 1,
            data: ['骨', '多发', '肺', '肝', '其他'],
            axisLine: {
                show: false,
            },
            axisTick: {
                show: false
            },
            axisLabel: {
                show: true,
                color: '#8597A5'
            },
        }
    ],
    yAxis: [{
            type: 'category',
            gridIndex: 0,
            axisLine: {
                show: false,
            },
            axisTick: {
                show: false
            },
            splitLine: {
                show: false
            },
            axisLabel: {
                show: true,
                color: '#8597A5'
            },
            data: ['尿路上皮癌', '原位癌', '鳞状细胞癌', '腺癌'],
        },
        {
            type: 'value',
            gridIndex: 1,
            axisLine: {
                show: false,
            },
            axisLabel: {
                show: false
            },
            axisTick: {
                show: false
            },
            splitLine: {
                show: false
            },
        }
    ],
    series: [{
            name: '病理分型',
            type: 'bar',
            xAxisIndex: 0,
            yAxisIndex: 0,
            data: [{
                    value: 1048,
                    name: '尿路上皮癌',
                    itemStyle: {
                        color: colors[0][0]
                    }
                },
                {
                    value: 735,
                    name: '原位癌',
                    itemStyle: {
                        color: colors[0][1]
                    }
                },
                {
                    value: 580,
                    name: '鳞状细胞癌',
                    itemStyle: {
                        color: colors[0][2]
                    }
                },
                {
                    value: 484,
                    name: '腺癌',
                    itemStyle: {
                        color: colors[0][3]
                    }
                },
            ]
        },
        {
            name: '转移',
            type: 'bar',
            xAxisIndex: 1,
            yAxisIndex: 1,
            data: [{
                    value: 1048,
                    name: '骨',
                    itemStyle: {
                        color: colors[1][0]
                    }
                },
                {
                    value: 1735,
                    name: '多发',
                    itemStyle: {
                        color: colors[1][1]
                    }
                },
                {
                    value: 580,
                    name: '肺',
                    itemStyle: {
                        color: colors[1][2]
                    }
                },
                {
                    value: 484,
                    name: '肝',
                    itemStyle: {
                        color: colors[1][3]
                    }
                },
                {
                    value: 1484,
                    name: '其他',
                    itemStyle: {
                        color: colors[1][4]
                    }
                },
            ]
        },
        {
            name: '病理分型',
            type: 'pie',
            radius: [60, 100],
            center: ['14%', '27%'],
            color: colors[0],
            label: {
                show: false,
                position: 'center'
            },
            itemStyle: {
                borderRadius: 5,
                borderColor: '#161C27',
                borderWidth: 2
            },
            emphasis: {
                label: {
                    show: true,
                    fontSize: '12',
                    fontWeight: 'bold'
                }
            },
            labelLine: {
                show: false
            },
            data: [{
                    value: 1048,
                    name: '尿路上皮癌'
                },
                {
                    value: 735,
                    name: '原位癌'
                },
                {
                    value: 580,
                    name: '鳞状细胞癌'
                },
                {
                    value: 484,
                    name: '腺癌'
                },
            ]
        },
        {
            name: '转移',
            type: 'pie',
            radius: [60, 100],
            center: ['14%', '77%'],
            color: colors[1],
            label: {
                show: false,
                position: 'center'
            },
            itemStyle: {
                borderRadius: 5,
                borderColor: '#161C27',
                borderWidth: 2
            },
            emphasis: {
                label: {
                    show: true,
                    fontSize: '12',
                    fontWeight: 'bold'
                }
            },
            labelLine: {
                show: false
            },
            data: [{
                    value: 1048,
                    name: '骨'
                },
                {
                    value: 1735,
                    name: '多发'
                },
                {
                    value: 580,
                    name: '肺'
                },
                {
                    value: 484,
                    name: '肝'
                },
                {
                    value: 1484,
                    name: '其他'
                },
            ]
        },
        {
            name: '分期',
            type: 'treemap',
            roam: false,
            nodeClick: false,
            breadcrumb: {
                show: false
            },
            width: '25%',
            height: '22%',
            right: '10%',
            top: '15%',
            label: {
                fontSize: 16,
                textShadowColor: '#000',
                textShadowBlur: 2,

            },
            itemStyle: {
                color: ['#2EE67D'],
            },
            levels: [{
                    itemStyle: {
                        borderColor: '#fff',
                        borderWidth: 0,
                        gapWidth: 0
                    }
                },
                {
                    colorSaturation: [0.8, 0.5],
                    itemStyle: {
                        color: ['#2EE67D'],
                        gapWidth: 3,
                        borderWidth: 0,
                        borderColor: '#161C27'
                    }
                }
            ],
            data: [{
                name: '分期',
                children: [{
                    name: 'T1',
                    value: 500
                }, {
                    name: 'T2',
                    value: 200
                }, {
                    name: 'T3',
                    value: 132
                }, {
                    name: 'T4',
                    value: 68
                }]
            }]
        },
        {
            name: '治疗方案',
            type: 'treemap',
            roam: false,
            nodeClick: false,
            breadcrumb: {
                show: false
            },
            width: '25%',
            height: '22%',
            right: '10%',
            top: '65%',
            label: {
                fontSize: 16,
                textShadowColor: '#000',
                textShadowBlur: 2,

            },
            itemStyle: {
                color: ['#FFD54A'],
            },
            levels: [{
                    itemStyle: {
                        borderColor: '#fff',
                        borderWidth: 0,
                        gapWidth: 0
                    }
                },
                {
                    colorSaturation: [0.8, 0.5],
                    itemStyle: {
                        color: ['#FFD54A'],
                        gapWidth: 3,
                        borderWidth: 0,
                        borderColor: '#161C27'
                    }
                }
            ],
            data: [{
                name: '治疗方案',
                children: [{
                    name: '手术',
                    value: 500
                }, {
                    name: '治疗',
                    value: 200
                }, {
                    name: '放疗',
                    value: 132
                }]
            }]
        }
    ]
};