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;"
 }
相关推荐
黄贵根3 小时前
JavaScript实现教培行业意向登记系统
开发语言·javascript·ecmascript
codeGoogle6 小时前
自研 IM 还是选择第三方 SDK?企业开发者应该如何权衡?
前端·后端·程序员
zzzzzz3107 小时前
从 react-bits 看动效组件化:别把视觉效果写成一次性页面代码
javascript·react.js·开源
用户938515635077 小时前
React Context 与自定义 Hook 从底层到实践:「跨层级通信 + 副作用封装」全解析
前端·javascript·react.js
滴滴答答哒7 小时前
VUE3+element-plus MultiSelect 多选下拉组件
前端·javascript·vue.js
其美杰布-富贵-李8 小时前
04 watch 与 Vue 响应式数据流
前端·javascript·vue.js
赵大仁9 小时前
生成式 UI 实战:用 JSON Schema + React 动态渲染 AI 界面
前端·ai·react·next.js·前端架构·生成式ui
kyriewen10 小时前
我排查了一个React内存泄漏——罪魁祸首是这3个被忽略的清理函数
前端·javascript·面试
IT_陈寒10 小时前
我又被JavaScript的隐式类型转换坑了
前端·人工智能·后端