记录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博客

相关推荐
cindershade6 分钟前
让每条前端异常都能回答:该由谁修、为什么现在修
前端
bitbrowser26 分钟前
Telegram提示尝试次数过多,换网络和重装有用吗
前端
研☆香32 分钟前
前端简单的的变量声明
前端
赵大仁39 分钟前
Next.js AI Route Handler 工程化:超时、流式与鉴权
前端·ai·鉴权·next.js·工程化
yuhaiqiang1 小时前
从这两件事就能看出 vibecoding 距离专业作品差距有多大?AI 能抹平技术,但抹不平品味 !
前端·后端·程序员
一次旅行1 小时前
DeepSeek‑V4‑Flash‑Vision‑Exp 小白入门实战|3种传图方式、完整可跑代码、避坑排障
java·前端·人工智能
其实防守也摸鱼2 小时前
Codex破局:前端组件秒级生成的技术文章大纲
开发语言·前端·人工智能·学习·安全·web安全
奥莱维2 小时前
KNX酒店方案_KNX专用线与高端酒店技术逻辑
java·服务器·前端·数据库
qq_452396232 小时前
第二篇:《前端架构的“道”与“术”:架构设计原则与决策框架》
前端·架构
lancyu2 小时前
# Agent Loop:AI Agent 的唯一直心骨
开发语言·javascript·人工智能