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;"
 }
相关推荐
谎言西西里1 小时前
JS 高手必会:手写 new 与 instanceof
javascript
雪碧聊技术2 小时前
前端项目代码发生改变,如何重新部署到linux服务器?
前端·vue3·centos7·代码更新,重新部署
liulilittle3 小时前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
wordbaby3 小时前
Expo 进阶指南:赋予 TanStack Query “原生感知力” —— 深度解析 AppState 与 NetInfo
前端·react native
Moment3 小时前
从美团全栈化看 AI 冲击:前端转全栈,是自救还是必然 🤔🤔🤔
前端·后端·面试
天问一3 小时前
使用 Vue Router 进行路由定制和调用的示例
前端·javascript·vue.js
韩立学长4 小时前
【开题答辩实录分享】以《基于Vue的非遗文化知识分享平台的设计与实现》为例进行选题答辩实录分享
前端·javascript·vue.js
优弧5 小时前
离开舒适区100天,我后悔了吗?
前端·后端·面试
胡gh5 小时前
css的臂膀,前端动效的利器,还是布局的“隐形陷阱”?
前端·css·html
灵感菇_5 小时前
Flutter Riverpod 完整教程:从入门到实战
前端·flutter·ui·状态管理