echarts图表width与height固定,x轴与y轴内容滚动方案总结

echarts图表width与height固定,x轴与y轴内容滚动方案总结

1.问题背景:
  • 最近在做echarts图表项目时遇到一个问题是,柱状图的宽高都固定,但是内容区域特别是x轴内容过多导致柱状图内容出现折叠堆叠覆盖情况,当时立马想到通过滚动条的方式解决这个问题,下面分享一下解决方案。
2.解决方案:
  • 在echarts中我们一般都是对图表做自适应处理,为了适配页面的布局,在大部分情况下都需要固定宽高,然后让内容做自适应,但当内容过多时就容易出现堆叠覆盖的情况。

  • (1)x轴的内容滚动:

  • dataZoom: [
        // 滚动条
           {
               start:0,//默认为0
               end: 100-1500/31,//默认为100
               type: 'slider',
               show: true,
               xAxisIndex: [0],
               handleSize: 0,//滑动条的 左右2个滑动条的大小
               height: 10,//组件高度
               left: '10%', //左边的距离
               right: '10%',//右边的距离
               bottom: 26,//右边的距离
               borderColor: "#000",
               fillerColor: '#269cdb',
               borderRadius:5,
               backgroundColor: '#33384b',//两边未选中的滑动条区域的颜色
               showDataShadow: false,//是否显示数据阴影 默认auto
               showDetail: false,//即拖拽时候是否显示详细数值信息 默认true
               realtime:true, //是否实时更新
               filterMode: 'filter',
               },
        // 拖动内容
           {
               type: 'inside',
               show: true,
               xAxisIndex: [0],
               start: 0,//默认为1
               end: 100-1500/31,//默认为100
           },
        ],   
    
    
  • (2)y轴内容滚动:

  • dataZoom: [
             // 滚动条
               {
                   start:0,//默认为0
                   end: 100-1500/31,//默认为100
                   type: 'slider',
                   maxValueSpan:14,//窗口的大小,显示数据的条数的
                   show: true,
                   yAxisIndex: [0],
                   handleSize: 0,//滑动条的 左右2个滑动条的大小
                   height: '80%',//组件高度
                   left: 650, //左边的距离
                   right: 15,//右边的距离
                   top: 50,//右边的距离
                   borderColor: "rgba(43,48,67,.8)",
                   fillerColor: '#33384b',
                   backgroundColor: 'rgba(43,48,67,.8)',//两边未选中的滑动条区域的颜色
                   showDataShadow: false,//是否显示数据阴影 默认auto
                   showDetail: false,//即拖拽时候是否显示详细数值信息 默认true
                   realtime:true, //是否实时更新
                   filterMode: 'filter',
                   yAxisIndex: [0,1],//控制的 y轴
                   },
              // 拖动内容
               {
                   type: 'inside',
                   show: true,
                   yAxisIndex: [0,1],
                   start: 1,//默认为1
                   end: 100-1500/31,//默认为100
               },
               // 没有下面这块的话,只能拖动滚动条,鼠标滚轮在区域内不能控制外部滚动条
               {
                  type:'inside',
                  yAxisIndex:0,
                  zoomOnMouseWheel:false,  // 滚轮是否触发缩放
                  moveOnMouseMove:true,  // 鼠标滚轮触发滚动
                  moveOnMouseWheel:true
                },
           ],
    
    
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木屋x

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值