记录Echarts双Y轴左右刻度不一致问题

根据项目需要,echarts实现双Y轴图表。因为两边数据不同,所以会出现左右Y轴刻度不一致。

增长率暂时是0,在X轴上 ,懒得改了。

修改之前:

修改之后:

根据数据找出最大值,分为6份向上取整,得到的每份就是间隔。

javascript 复制代码
  // dataArr1、dataArr2同series中需要传入的两个数组
  // 最大值 / 6 后向上取整=最大间隔
  // 最大间隔 * 6 = 最大值;
  let intervalY1 = Math.ceil(Math.max(...dataArr1) / 6);
  let intervalY2 = Math.ceil(Math.max(...dataArr2) / 6);
  // 因为暂时没数据。可设置为 0 时默认间隔,此处为 1
  intervalY1 = intervalY1 == 0 ? 1 : intervalY1;
  intervalY2 = intervalY2 == 0 ? 1 : intervalY2;

不想Y轴的数据顶天的话可以将interval*1.5或interval+10

解决思路: 1、将interval增大, 2、将max值增大(下面代码注释)

javascript 复制代码
yAxis: [
   {
       name: "增长率",
       type: "value",
       axisTick: {
           show: false,
       },
       axisLine: {
           show: false,
       },
       axisLabel: {
           formatter: "{value}%",
       },
       min: 0,
       // 不想数据=max,可手动更改interval*7 或 (interval*6)+ 20
       max: intervalY1 * 6, // 最大值
       splitNumber: 6, // 坐标轴的分割段数(预估值)
       interval: intervalY1, // 强制设置坐标轴分割间隔。
   },
   {
       name: "人数",
       type: "value",
       axisLine: {
           show: false,
       },
       axisTick: {
           show: false,
       },
       axisLabel: {
           formatter: "{value}人",
       },
       min: 0,
       // 不想数据=max,可手动更改interval*7 或 (interval*6)+ 20
       max: intervalY2 * 6,  // 最大值
       splitNumber: 6, // 坐标轴的分割段数(预估值)
       interval: intervalY2, // 强制设置坐标轴分割间隔。
   },
],

原文链接:Echarts双Y轴左右刻度不一致_echarts双y轴刻度不一致_牛腩的小鱼饼的博客-CSDN博客

相关推荐
coderYYY27 分钟前
VSCode终端启动报错
前端·ide·vscode·npm·编辑器
西门吹-禅37 分钟前
文本搜索node js--meilisearch
开发语言·javascript·ecmascript
吴声子夜歌1 小时前
RxJava——调度器Scheduler
android·echarts·rxjava
tod1131 小时前
Redis 数据类型与 C++ 客户端实践指南(redis-plus-plus)
前端·c++·redis·bootstrap·html
Sylvia33.1 小时前
火星数据:棒球数据API
java·前端·人工智能
weixin199701080161 小时前
1688商品详情页前端性能优化实战
前端·性能优化
DEMO派2 小时前
前端常用XSS攻击演示与防御方案解析
前端·xss
问今域中2 小时前
Vue的computed用法解析
前端·javascript·vue.js
扶苏10022 小时前
详解Vue3的provide和inject
前端·javascript·vue.js
武帝为此3 小时前
【Shell 函数库介绍】
前端·chrome