echarts实现数量超过14条显示滚动条

在这里插入图片描述

let dataX = ['XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道','XX街道']; //名称
let dataY = [20,50,15,35,50,30,40,50,60,20,50,15,35,50,30,40,50,60]; //数据
let zoomShow = false;
if (dataY.length > 14) {
    zoomShow = true;
} else {
    zoomShow = false;
}
var option = {
    backgroundColor: '#0D2753',
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow',
        },
    },
    grid: {
        top: '10%',
        right: '5%',
        left: '5%',
        bottom: '10%',
    },
    xAxis: [
        {
            type: 'category',
            data: dataX,
            axisLine: {
                lineStyle: {
                    color: 'rgba(66, 192, 255, .3)',
                },
            },
            axisLabel: {
                interval:0,
                margin: 10,
                color: '#05D5FF',
                textStyle: {
                    fontSize: 11,
                },
                rotate: '45',
            },
            axisTick: {//刻度
                show: false,
            },
        },
    ],
    yAxis: [
        {
            axisLabel: {
                padding: [3, 0, 0, 0],
                formatter: '{value}',
                color: 'rgba(95, 187, 235, 1)',
                textStyle: {
                    fontSize: 11,
                },
            },
            axisTick: {
                show: true,
            },
            axisLine: {
                lineStyle: {
                    color: 'rgba(66, 192, 255, .3)',
                },
            },
            splitLine: {
                lineStyle: {
                    color: 'rgba(255,255,255,0)',
                },
            },
        },
    ],
    dataZoom: [//滚动条
        {
            show: zoomShow,
            type: 'slider',
            realtime: true,
            startValue: 0,
            endValue: 14,
            xAxisIndex: [0],
            bottom: '10',
            left: '30',
            height: 10,
            borderColor: 'rgba(0,0,0,0)',
            textStyle: {
                color: '#05D5FF',
            },
        },
    ],
    series: [
        {
            type: 'bar',
            data: dataY,
            barWidth: '10',
            itemStyle: {
                normal: {
                    color: new echarts.graphic.LinearGradient(
                        0,
                        0,
                        0,
                        1,
                        [
                            {
                                offset: 0,
                                color: 'rgba(5, 213, 255, 1)', // 0% 处的颜色
                            },
                            {
                                offset: 0.98,
                                color: 'rgba(5, 213, 255, 0)', // 100% 处的颜色
                            },
                        ],
                        false
                    ),
                    shadowColor: 'rgba(5, 213, 255, 1)',
                    shadowBlur: 4,
                },
            },
            label: {
                normal: {
                    show: true,
                    lineHeight: 10,
                    formatter: '{c}',
                    position: 'top',
                    textStyle: {
                        color: '#fff',
                        fontSize: 10,
                    },
                },
            },
        },
    ],
};
实现Echarts图例数据滚动效果,可以使用Echarts自带的legend组件以及自定义滚动条插件(Scrollbar)。 首先,需要在Echarts的配置项中加入legend组件,并设置其orient属性为horizontal,使图例横向排列。然后,再加入Scrollbar插件,并将其与legend组件关联起来,使得当图例数量超过一定数量时,可以滚动显示。 以下是一个示例代码: ```javascript option = { // 其他配置项... legend: { orient: 'horizontal', data: ['数据1', '数据2', '数据3', '数据4', '数据5', '数据6', '数据7', '数据8', '数据9', '数据10', '数据11', '数据12'], selected: { // 初始只显示部分数据 '数据1': true, '数据2': true, '数据3': true, '数据4': true, '数据5': true, '数据6': true, '数据7': true, '数据8': false, '数据9': false, '数据10': false, '数据11': false, '数据12': false } }, // 自定义滚动条插件 scrollbar: { show: true, type: 'slider', // 设置与legend组件的关联 // 注意:需要与legend组件的id一致 id: 'legend', // 滚动条的宽度和高度 // 可以根据需要进行调整 width: 10, height: 10, // 滚动条的位置和样式 // 可以根据需要进行调整 left: 'center', bottom: 0, backgroundColor: '#f5f5f5', borderColor: '#ddd', fillerColor: '#ddd', handleStyle: { color: '#a7a7a7' } } }; ``` 在以上示例中,通过设置legend组件的selected属性来控制图例的初始显示情况,然后通过设置scrollbar插件的id属性与legend组件的id相同,使得它们可以关联起来,从而实现图例滚动的效果。 需要注意的是,如果图例数量过多,滚动条可能会出现遮挡的情况,此时可以通过调整图表的大小、位置或滚动条的位置等方法来解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值