echarts 3D圆柱

我们公司的美工又给我整活了。

  要这样的效果。

直接上代码

function zhux_chartes() {
            var zhux_chartes = echarts.init(document.getElementById('zhux_chartes'));
            var scale = 2;
            var xData = ['银行业务数字化', '支付业务数字化', '金融科技业务创新', '大数据金融业务', '证券业务数字化', '数字金融业务监管', '区块链金融业务', '保险业务数字化']
            var DataSF = ["100", "86", "99", "89", "66", "99", "89", "66"];
            var DataDF = ["55", "86", "96", "69", "89", "86", "96", "69"];

            var option =
            {
                tooltip:
                {
                    trigger: 'axis',
                    textStyle:
                    {
                        fontSize: 12,
                    },
                    formatter: function (params) {
                        let returnStr = `
                            <span style="color:#00c6ff">${params[2].seriesName}:${params[2].value}</span><br />
                            <span style="color:#f6bd42">${params[5].seriesName}:${params[5].value}</span><br />
                        `;
                        return returnStr;
                    }
                },
                grid:
                {
                    left: '2%',
                    right: '4%',
                    bottom: '4%',
                    top: '16%',
                    containLabel: true
                },
                legend:
                {
                    // data: ['银行业务数字化', '支付业务数字化', '金融科技业务创新', '大数据金融业务', '证券业务数字化', '数字金融业务监管', '区块链金融业务', '保险业务数字化'],
                    data: ["失分情况", "得分情况"],
                    // right: 170,
                    top: 1,
                    textStyle:
                    {
                        color: "#FFFFFF",
                        fontSize: 10
                    },
                    itemWidth: 18,
                    itemHeight: 12,
                    selectedMode: false,
                    color: '#242424'
                },
                xAxis:
                {
                    type: 'category',
                    data: xData,
                    axisLabel:
                    {
                        interval: 0,
                        padding: [10, 0, 0, 0],
                        textStyle:
                        {
                            fontFamily: 'Microsoft YaHei',
                            color: '#9ae8ff',
                            fontWeight: 'normal',
                            fontSize: 10,
                            lineHeight: 14
                        },
                        formatter: function (params) {
                            let newParamsName = '';
                            const paramsNameNumber = params.length; // 文字总长度
                            const provideNumber = 4; //一行显示几个字
                            const rowNumber = Math.ceil(paramsNameNumber / provideNumber);
                            if (paramsNameNumber > provideNumber) {
                                for (let p = 0; p < rowNumber; p++) {
                                    const start = p * provideNumber;
                                    const end = start + provideNumber;
                                    const tempStr = p === rowNumber - 1 ? params.substring(start, paramsNameNumber) : params.substring(start, end) + '\n';
                                    newParamsName += tempStr;
                                }
                            } else {
                                newParamsName = params;
                            }
                            return newParamsName;
                        }

                    }
                },
                yAxis:
                    [
                        {
                            type: 'value',
                            nameTextStyle:
                            {
                                color: '#ffffff',
                                fontSize: 12,
                            },
                            axisLine:
                            {
                                show: false,
                            },
                            splitLine:
                            {
                                show: true,
                                lineStyle: {
                                    color: 'rgba(154,232,255,0.2)',
                                    width: 2
                                }
                            },
                            axisLabel:
                            {
                                formatter: '{value}',
                                color: '#fff',
                                fontSize: 12
                            }
                        },
                        {
                            type: 'value',
                            nameTextStyle:
                            {
                                color: '#ffffff',
                                fontSize: 12,
                            },
                            axisLine:
                            {
                                show: false,
                            },
                            splitLine:
                            {
                                show: false,
                            },
                            axisLabel:
                            {
                                formatter: '{value}',
                                color: '#fff',
                                fontSize: 12
                            }
                        },
                    ],
                series:
                    [
                        // 失分
                        {
                            yAxisIndex: 0,
                            type: 'pictorialBar',
                            symbolSize: [20, 8], // 左边柱子的天灵盖
                            symbolOffset: [-12, -2],// 左边柱子的天灵盖 的位置
                            symbolPosition: 'end',
                            z: 16,
                            color: "#00c6ff",
                            data: DataSF
                        },
                        {
                            yAxisIndex: 0,
                            type: 'pictorialBar',
                            symbolSize: [20, 6],
                            symbolOffset: [-12, 0],
                            z: 12,
                            color: "#00c6ff",
                            data: DataSF
                        },
                        {
                            name: '失分情况',
                            yAxisIndex: 0,
                            type: 'bar',
                            barWidth: 20,
                            itemStyle:
                            {
                                normal:
                                {
                                    opacity: .7,
                                    color: new echarts.graphic.LinearGradient(
                                        0, 0, 0, 1,
                                        [
                                            {
                                                offset: 0,
                                                color: '#00c6ff'
                                            },
                                            {
                                                offset: 1,
                                                color: 'rgba(0,198,255,0.2)'
                                            },
                                        ]),
                                    barBorderRadius: 0,
                                },
                            },
                            label:
                            {
                                show: false,
                                position: ['10', '-34'],
                                color: '#00f8ff',
                                fontSize: 12,
                            },
                            data: DataSF
                        },
                        // 得分
                        {
                            yAxisIndex: 0,
                            type: 'pictorialBar',
                            symbolSize: [20, 8],// 右边柱子的天灵盖
                            symbolOffset: [12, -2],// 右边柱子的天灵盖 的位置
                            symbolPosition: 'end',
                            z: 12,
                            color: "#f6bd42",
                            data: DataDF
                        },
                        {
                            yAxisIndex: 0,
                            type: 'pictorialBar',
                            symbolSize: [20, 6],
                            symbolOffset: [12, 0],
                            color: "#f6bd42",
                            z: 12,
                            data: DataDF
                        },

                        {
                            name: '得分情况',
                            yAxisIndex: 0,
                            type: 'bar',
                            barWidth: 20,
                            itemStyle:
                            {
                                normal:
                                {
                                    opacity: .7,
                                    color: new echarts.graphic.LinearGradient(
                                        0, 0, 0, 1,
                                        [
                                            {
                                                offset: 0,
                                                color: '#f6bd42'
                                            },
                                            {
                                                offset: 1,
                                                color: 'rgba(250,191,66,0.1)'
                                            },
                                        ]),
                                    barBorderRadius: 0,
                                }

                            },
                            label:
                            {
                                show: false,
                                position: ['10', '-34'],
                                color: '#00f8ff',
                                fontSize: 12,
                            },
                            data: DataDF
                        }
                    ]
            };
            // -------------------------
            zhux_chartes.setOption(option)
            window.addEventListener("resize", function () {
                zhux_chartes.resize()
            })
        }

大工告成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值