echarts 柱状图滚动

实现效果:柱形图展示水平滚动条,并且鼠标滚动支持让滚动条平移

echarts文档里,图形的滚动条分两种

  • 内置型 (效果是: 鼠标在图中点击拖动平移,在图中滚动缩放)
  • 滚动条型 (效果是:鼠标拖动滚动条平移,鼠标拖大缩小滚动条缩放)

而我们要实现的就是综合了这两种。。
既要内置型的能在图中滚动,又要滚动条的样式

实现代码

 const zoomData=[  // 有滚动条 平移
          {
              type: 'slider',
              realtime: true,
              start: 0,
              end: 40,  // 初始展示40%
              height: 4,
              fillerColor: "rgba(17, 100, 210, 0.42)", // 滚动条颜色
              borderColor: "rgba(17, 100, 210, 0.12)", 
              handleSize:0, // 两边手柄尺寸
              showDetail: false, // 拖拽时是否展示滚动条两侧的文字
              top:'96%',
              
              // zoomLock:true, // 是否只平移不缩放
              // moveOnMouseMove:true, //鼠标移动能触发数据窗口平移
              // zoomOnMouseWheel :true, //鼠标移动能触发数据窗口缩放
          },
          { 
            type: "inside",  // 支持内部鼠标滚动平移
            start: 0,
            end: 40,
            zoomOnMouseWheel: false,  // 关闭滚轮缩放
            moveOnMouseWheel: true, // 开启滚轮平移
            moveOnMouseMove: true  // 鼠标移动能触发数据窗口平移 
          }
      ]

moveOnMouseWheel和moveOnMouseMove 记得开启,
开启后滚轮往下滚数据往后移动

zoomOnMouseWheel 关闭滚轮缩放, 关闭后滚轮滚到最后不会有回弹抖动

再添加到option里即可
dataZoom: zoomData,

例子2

dataZoom: [
            {
                // 滚动条以及缩放
                type: "inside",
                // start: 0,
                // end: endZoom,    // 这里end跟数据有关系 数据越多,end越小 end是百分比例
                startValue: 0, // 从头开始。
                endValue: 6,  // 最多六个
                minValueSpan: 6,  // 放大到最少几个
                maxValueSpan: 365,  //  缩小到最多几个
            },
        ],

这里的startValue和endValue代表初始只显示七个,七组柱子
minValueSpan代表放大到最少到显示几个
maxValueSpan代表缩小到最多显示几个

例子3:

 垂直方向滚动条

dataZoom=[
            {
                type: "inside",
                startValue: 0, 
                endValue: 2, 
                minValueSpan: 2,  
                maxValueSpan: 2,  
                yAxisIndex: [0],
              zoomOnMouseWheel: false,  // 关闭滚轮缩放
              moveOnMouseWheel: true, // 开启滚轮平移
              moveOnMouseMove: true  // 鼠标移动能触发数据窗口平移 
            },
            {
              type: 'slider',
              realtime: true,
              startValue: 0, 
              endValue: 2,  
              width:  '3.5',
              height:  '80%',
              yAxisIndex: [0], // 控制y轴滚动
              fillerColor: "rgba(154, 181, 215, 1)", // 滚动条颜色
              borderColor: "rgba(17, 100, 210, 0.12)", 
              backgroundColor: '#cfcfcf',//两边未选中的滑动条区域的颜色
              handleSize:0, // 两边手柄尺寸
              showDataShadow: false,//是否显示数据阴影 默认auto
              showDetail: false, // 拖拽时是否展示滚动条两侧的文字
              top:'1%',
              right:'5',
          }
          
        ]

猜你喜欢

转载自blog.csdn.net/qq_41954585/article/details/127999805