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'
          }
        ]
相关推荐
全马必破三2 小时前
CSS 和 JS 如何阻塞浏览器渲染 DOM
javascript
c***V3233 小时前
Vue优化
前端·javascript·vue.js
努力往上爬de蜗牛4 小时前
react native真机调试
javascript·react native·react.js
李@十一₂⁰5 小时前
HTML 特殊字体符号
前端·html
y***86695 小时前
TypeScript在Electron应用中的使用
javascript·typescript·electron
小奶包他干奶奶7 小时前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
zy happy7 小时前
若依 vue3 报错:找不到模块“@/api/xxxx/xxxxx”或其相应的类型声明。。Vue 3 can not find mod
前端·javascript·vue.js
潘小安8 小时前
Git Worktree + Claude Code:让你的开发效率翻倍的秘密武器
前端
meichaoWen8 小时前
【Vue3】vue3的全面学习(一)
前端·javascript·学习
小猪努力学前端8 小时前
在 React + React Router v7 SSR 项目里做多端适配,我踩的两个坑
前端·react.js