Echarts柱状体实现滚动条动态滚动

当我们柱状图中X轴数据太多的时候,会自动把柱形的宽度挤的很细,带来的交互非常不好,因此就有一个属性来解决:dataZoom

第一种简易的版本,横向滚动。

java 复制代码
dataZoom: {
          show: true, // 为true 滚动条出现
          realtime: true, // 实时更新
          type:'slider', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
          height: 12, // 表示滚动条的高度,也就是粗细
          start: 20, // 表示默认展示20%~80%这一段。
          end: 80,
        },

第二种:

javascript 复制代码
dataZoom: [//给x轴设置滚动条
        {
          type: 'slider',//slider表示有滑动块的,inside表示内置的
          // startValue: 8,//可用于设置开始显示的柱子的长度
          // endValue: 1,//可用于设置结束显示的柱子的长度
          start: 0,//默认为0  可设置滚动条从在后进行展示
          end: 40,//默认为100
          show: true,
          xAxisIndex: [0],
          handleSize: 0,//滑动条的 左右2个滑动条的大小
          height: 12,//组件高度
          left: '5%', //左边的距离
          right: '5%',//右边的距离
          bottom: -2,//右边的距离
          borderColor: "#f68b8f", //两边未选中的滑动条区域的颜色
          fillerColor: '#ff5e70',// 两边选中的滑动条区域的颜色
          backgroundColor: '#eee',//两边未选中的滑动条区域的颜色
          showDataShadow: false,//是否显示数据阴影 默认auto
          showDetail: false,//即拖拽时候是否显示详细数值信息 默认true
          realtime: true, //是否实时更新
          filterMode: 'filter',
          handleStyle: {
            borderRadius: '20',
          },
        },
        //下面这个属性是里面拖到
        {
          type: 'inside',
          show: true,
          xAxisIndex: [0], // 与上面xAxisIndex对应
          start: 0,//默认为1
          end: 100,//默认为100
          moveOnMouseWheel: false, // 鼠标滚轮时是否滚动
          preventDefaultMouseMove: false, // 是否阻止默认的鼠标移动事件
        },
      ],

第三种:

javascript 复制代码
dataZoom: [
          {
            type: 'slider',
            width: '60%',
            start: 0,
            end: 40,
            showDataShadow: false,
            fillerColor: '#ff0000',
            borderRadius:'50%',
            moveHandleSize: 0,
            moveHandleStyle: {},
            left: '20%',
            // right: '80%',
            height: 20,
            handleSize: '80%', // 滑动条的 左右2个滑动条的大小
            handleIcon:'path://M512,512m-448,0a448,448,0,1,0,896,0a448,448,0,1,0,-896,0Z',
            handleStyle: {
              borderWidth: 0, // 边框宽度
              color: '#ff0000'
            }
          },
          {
            type: 'inside'
          }
        ]
相关推荐
2401_8370885022 分钟前
ref 简单讲解
前端·javascript·vue.js
折果1 小时前
如何在vue项目中封装自己的全局message组件?一步教会你!
前端·面试
不死鸟.亚历山大.狼崽子1 小时前
Syntax Error: Error: PostCSS received undefined instead of CSS string
前端·css·postcss
汪子熙1 小时前
Vite 极速时代的构建范式
前端·javascript
叶常落1 小时前
[react] js容易混淆的两种导出方式2025-08-22
javascript
跟橙姐学代码1 小时前
一文读懂 Python 的 JSON 模块:从零到高手的进阶之路
前端·python
前端小巷子2 小时前
Vue3的渲染秘密:从同步批处理到异步微任务
前端·vue.js·面试
nightunderblackcat2 小时前
新手向:用FastAPI快速构建高性能Web服务
前端·fastapi
小码编匠3 小时前
物联网数据大屏开发效率翻倍:Vue + DataV + ECharts 的标准化模板库
前端·vue.js·echarts
欧阳天风3 小时前
分段渲染加载页面
前端·fcp