echarts横向柱状图TOP排名

本文介绍了如何在Echarts图表中添加滚动条、设置柱状图颜色以及调整TOP标签的颜色。通过示例代码展示了如何针对前3名的数据设置不同颜色,并实现轴标签颜色的动态变化。同时,提供了根据数据量控制滚动条显示的逻辑,确保只有当数据超过一定数量时才会显示滚动条。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 需求和上一篇文章类似,只不过多了滚动条和标签颜色。

标签右对齐请参考上篇文章https://blog.csdn.net/chenlim87/article/details/126480580

柱条添加颜色:

// 前三名添加颜色
for (let i = 0; i < this.TOPOption.series[1].data.length; i++) {
    if (i === 0) {
        this.TOPOption.series[1].data[i] = {
            value: this.TOPOption.series[1].data[i],
            itemStyle: {
                color: '#F95757'
            }
        }
    } else if (i === 1) {
        this.TOPOption.series[1].data[i] = {
            value: this.TOPOption.series[1].data[i],
            itemStyle: {
            color: '#FA8C16'
            }
        }
    } else if (i === 2) {
        this.TOPOption.series[1].data[i] = {
            value: this.TOPOption.series[1].data[i],
            label: {},
            itemStyle: {
               color: '#F7C739'
            }
        }
    } else {
        this.TOPOption.series[1].data[i] = {
            value: this.TOPOption.series[1].data[i],
            label: {},
            itemStyle: {
                color: '#4D8EFF'
            }
        }
      }
 }

TOP标签颜色设置(option中配置):

axisLabel: {
    color: function (value, index) {
          // 为防止TOP1X,TOP2X等也变色,先判断TOPx后的值是否是NaN
          if (value && isNaN(Number(value.substring(4, 5)))) {
              if (value.substring(0, 4) === 'TOP1') {
                  return '#F95757'
              }
              if (value.substring(0, 4) === 'TOP2') {
                  return '#FA8C16'
              }
              if (value.substring(0, 4) === 'TOP3') {
                  return '#EFB40E'
              }
           }
           return '#666666'
    }
}

添加滚动条(option中配置):

dataZoom: [
    {
        type: 'slider',
        width: 12,
        show: true,
        filterMode: 'empty',
        yAxisIndex: [0],
        left: '98%',// 滚动条位置
        handleSize: 0, // 滚动条两侧手柄的大小
        fillerColor: '#DADCE0',
        zoomLock: true, // 只能平移不能缩放

        // backgroundColor: '#f1f1f1',//两边未选中的滑动条区域的颜色
        showDataShadow: false, // 是否显示数据阴影 默认auto
        showDetail: false, // 即拖拽时候是否显示详细数值信息 默认true
        realtime: true, // 是否实时更新
        startValue: 0, // 数据窗口范围的起始百分比
        endValue: 4 // 结束百分比(要显示几条数据)
    }
],

图中排名是前30名,每页展示5条数据。如果数据小于等于5条,可以隐藏滚动条:

// 是否出现滚动条
this.TOPOption.dataZoom[0].show = this.TOPOption.series[1].data.length > 5

### 实现ECharts横向柱状图中的滚动条 为了在 ECharts 横向柱状图中添加并配置滚动条,可以通过设置 `dataZoom` 属性来实现这一目标。具体来说,通过定义两个不同类型的 `dataZoom` 组件——一个是滑动条形式 (`slider`) 的外部控制器,另一个是内置 (`inside`) 控制器用于支持鼠标的交互操作。 #### 设置 Slider 类型 DataZoom 对于 slider 类型的数据缩放组件,主要参数如下: - **type**: 定义为 `"slider"` 表明这是一个可视化的拖拽控件。 - **realtime**: 设定为 `true` 可实现实时更新图表视图[^3]。 - **startValue 和 endValue**: 这些值控制初始可见区域的起始位置和结束位置,在此案例中设定了前五个数据项被默认展示出来。 - **height**: 调整滚动条的高度以适应页面布局需求。 - **fillerColor 和 borderColor**: 自定义滚动条的颜色样式使其更美观或匹配整体设计风格。 - **handleSize**: 将其置零可隐藏两端的手柄部分。 - **showDetail**: 当设置为 `false` 时表示不显示详细的提示信息当用户正在拖动滚动条的时候。 - **top**: 精确指定该组件相对于容器顶部的位置百分比。 - **moveHandleStyle.color**: 更改手柄颜色以便更好地融入界面主题。 ```javascript { type: 'slider', realtime: true, startValue: 0, endValue: 5, height: 4, fillerColor: '#0D3772', // 滚动条颜色 borderColor: '#0D3772', handleSize: 0, // 两边手柄尺寸 showDetail: false, // 是否展示详情 top: '98.5%', } ``` #### Inside 类型 DataZoom 配置 Inside 类型允许用户直接通过鼠标滚轮和平移动作来进行数据浏览而无需额外的操作界面上下文菜单或其他按钮。这里的关键选项有: - **zoomOnMouseWheel**: 如果不想让用户能够使用滚轮放大缩小,则应将其关闭(`false`)。 - **moveOnMouseWheel** 和 **moveOnMouseMove**: 同样是为了启用或禁用相应的事件监听行为,确保用户体验流畅自然。 ```javascript { type: 'inside', startValue: 0, endValue: 5, zoomOnMouseWheel: false, // 关闭滚轮缩放 moveOnMouseWheel: true, // 开启滚轮平移 moveOnMouseMove: true // 移动鼠标也能触发平移 } ``` 以上就是关于如何在 ECharts 中创建具有滚动功能的横向柱状图的方法介绍。通过合理调整这些属性,可以根据实际应用场景灵活定制适合自己的可视化解决方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值