echarts特殊处理(滚动条、legend分页、tooltip滚动)

当图表数据量过大时,为了使用者能够有更好的体验,对于大数据量的图表处理:

1、当x轴数据过多不能完全展示时,需要添加滚动条:option设置dataZoom字段

javascript 复制代码
dataZoom: [{ // 这部分是关键,设置滚动条
   type: 'slider', // 使用 'slider' 类型的 dataZoom 组件
   start: 0, // 左侧在数据窗口范围的起始百分比, 0 表示从头开始
    end: 50, // 右侧在数据窗口范围的结束百分比, 100 表示到尾部结束
    // 滚轮是否触发缩放
    zoomOnMouseWheel: false,
    // 鼠标滚轮触发滚动
    moveOnMouseMove: true,
    moveOnMouseWheel: true,
    // 是否显示detail,即拖拽时候显示详细数值信息
    showDetail: false,
}]

2、数据量过大时会造成legend很多,可能会折叠数据,页面样式也不好看,从而进行legend分页:option设置legend字段

javascript 复制代码
legend: {
    type: 'scroll', // 设置图例为滚动类型
    orient: 'horizontal', // 横向显示图例
    height: 50, // 设置图例高度
    pageIconColor: '#ff781f', // 设置翻页箭头颜色
    pageTextStyle: {
      color: '#999' // 设置翻页数字颜色
    },
    pageIconSize: 11, // 设置翻页箭头大小
    textStyle: { // 设置图例文字的样式
      color: '#999',
      fontSize: 12
    },
    itemHeight: 10, // 设置图例项的高度
    itemWidth: 15, // 设置图例项的宽度
    left: '1%', // 设置图例左边距
    top: '1%' ,// 设置图例上边距
}

3、数据量过大时,tooltip会很长,可能会占据整个页面,考虑给tooltip添加滚动条:option设置tooltip字段

javascript 复制代码
tooltip: {
   trigger: 'axis',
   axisPointer:{
     type:'shadow',
   },
   confine:true,
   enterable:true,
   extraCssText:"max-width:90%;max-height:83%;overflow:auto;"
 }
相关推荐
2601_958352901 小时前
A-59U 仅 37mm 却集成 USB + 双波束?
前端·回声消除·语音模块·降噪处理·降噪消回音
泯泷7 小时前
那段文字是谁删的?Yjs 14 正式版之前,一套删除归属方案的实现与边界
前端·javascript·算法
hold?fish:palm7 小时前
34 合并K个升序链表
javascript·算法·链表
野槐10 小时前
前端项目优化(有了我,会发生...)
前端
幸运小圣10 小时前
PointerEvent 常用属性与事件整理【JavaScript】
开发语言·javascript·ecmascript
aa小小10 小时前
【无标题】
前端
计算机魔术师11 小时前
还在单线程跟 AI 聊天?Claude Code 并行多会话让你一个人干三个人的活
前端
志尊宝11 小时前
Vue3 零基础每日笔记(038):亲手封装 useDebounceFn 与 useThrottleFn——高频事件的流量阀
前端·javascript·vue·html·vue3
JavaGuide11 小时前
对标 MinIO!全新一代分布式文件系统正式发布
前端·后端
风骏时光牛马11 小时前
AI驱动自动化业务工作流搭建实践
前端