背景:当设置双轴的时候,轴线的刻度数量、间距均由echart内部自动计算,导致两边的轴线大概率下不会对齐,如下图所示:

查询echarts配置文档,发现以下属性:

min: 坐标轴刻度最小值

max: 坐标轴刻度最大值

splitNumber:坐标轴的分割段数

interval:强制设置坐标轴分割间隔

OK,我们根据业务数据,定制化的计算相关属性值即可。

options.yAxis.forEach((y, index) => {// leftMax, rightMax的值,请自行根据自身数据计算,即:默认配置下的最大值// const { leftMax, rightMax} = this.getMaxValue();// index === 0时是左轴,1是右轴let max = !index ? rightMax + '' : leftMax + '';max = value === 'null' ? 0 : this.computeMax(max);y.splitNumber = SPLIT_NUMBER;y.interval = max / SPLIT_NUMBER;y.max = max;
});
const SPLIT_NUMBER = 4; // 分割段数/*** @description 根据实际最大值,计算轴的最大值* @param { String} value 实际的最大值(字符串的数字)* @returns { Number } 计算后的最大值*/
computeMax(value) {if (Math.floor(value) === 0) {  // 是小数let { result, digit } = getNumberFromDecimal(Number(value));result = result.substr(0, 2); // 取前两位return Number(Math.ceil(value / SPLIT_NUMBER) * SPLIT_NUMBER) / Math.pow(10, digit - 1 + 2);} else {const roundValue = Math.floor(value).toString();if (roundValue.length > 2) { // 两位以上const topTwo = roundValue.substr(0, 2);const len = roundValue.length;return Number(Math.ceil(topTwo / SPLIT_NUMBER) * SPLIT_NUMBER) * Math.pow(10, len - 2);} else {return Number(Math.ceil(value / SPLIT_NUMBER) * SPLIT_NUMBER);}}
}
/*** @description 获取小于0的小数中的数字* @param { Number } decimal  小数* @returns { result, digit } 小数点后不包括0的数字,小数点后的位数*/
getNumberFromDecimal = function(decimal) {let str = decimal.toString();if (typeof decimal !== 'number' || !str.includes('.')) {throw '参数不是小数';}if (decimal >= 1) {throw '参数大于等于1';}for (let i = 0; i < str.length; i ++) {if (str[i] !== '0' && str[i] !== '.') {return { result: str.substring(i, str.length), digit: i - 2 };}}
}

思路大致如上, 具体可根据自身业务做相应的调整。
附上最后效果图:

echarts双轴轴线不对齐的解决办法相关推荐

  1. 黑苹果win10双系统下文件名变灰色解决办法

    黑苹果win10双系统下文件名变灰色解决办法 如图所示: 打开终端,进入变灰色的文件所在的文件夹目录下 执行   xattr -c *.*   ,*.*是代表文件名和后缀,可以单独制定一个文件或者相同 ...

  2. 关于FusionChartsFree y轴不显示中文 的解决办法

    关于FusionChartsFree y轴不显示中文 的解决办法 ---首先说明,小辈这是第一次写blog,下面的文章可能写的不是很好,希望前辈们多多指教! 在网上搜了很多关于"Fusion ...

  3. (转)echarts 提示框tooltip被遮挡的解决办法

    当echart的容器外部 dom 被设置为 overflow: hidden 时,提示框会被遮挡. 解决办法: 一.tooltip. confine tooltip: {confine: true / ...

  4. cadz轴归零命令_关于CAD中Z轴坐标归零问题的解决办法

    原标题:关于CAD中Z轴坐标归零问题的解决办法 微信名:CAD吧 每日经典CAD解决方案 ❶ 史上最齐全的CAD下载链接:http://pan.baidu.com/s/1skP5jhb 密码:9qm2 ...

  5. 在RedHat虚拟机下单/双引号打不出来的解决办法

    今天不知道修改了什么设置,我在vim里面写程序的时候,发现单引号和双引号都打不出来. 双引号打出来的效果是¨ ¨ ,这会是导致程序出错!出现这种问题的原因是键盘布局与实际不相符,要进行修改. 一.单/ ...

  6. 不对齐 谷歌浏览器_谷歌浏览器input上下不对齐兼容解决办法

    最近项目中,须要写一个搜索框样式(样式很简单)以下:css 当写完代码,进行浏览器兼容性测试的时候,发如今谷歌浏览器下文本框和按钮没有对齐,文本框偏下一点,其余浏览器正常:样式以下:html 缘由:文 ...

  7. Apache ECharts 官网布局排版错乱的解决办法

    echarts图库官网:Apache ECharts 像上图中,有时候打开可能样式错乱,解决办法是强制刷新缓存就行了,连续点击刷新 ok了

  8. win7+ubuntu14.04双系统出现的问题及解决办法

    win10+ubuntu14.04双系统大概使用了几个月就要重装,于是个人觉得很有必要记录这一路走来在这上面所遇到的坑.也许大家会说,Linux才发展了二三十年而已,widows已经有了一个很长的历史 ...

  9. element表格错位问题(表头和表格内容没有对齐)解决办法

    element表格错位问题,表头和表格内容没有对齐,如下图: 解决办法: 在入口文件App.vue 样式中加以下内容: body .el-table th.gutter {display: table ...

最新文章

  1. 密码学是如何保护区块链的
  2. linux shell 查看进程 可执行程序路径
  3. 美好生活从java开始
  4. python画一束花_用python画一朵玫瑰花,拿去表白趴-Go语言中文社区
  5. java中comparator实现序列化_java – 确保Function参数是可序列化的最好方式是什么?...
  6. 1333和1600能双通道吗_80后童年神作《光环致远星》steam解锁 ?你的电脑还OK吗?...
  7. 使用SAP C4C rule editor动态控制UI上某个按钮是否显示 - SAP Cloud for Customer UI 规则编辑器的使用一例
  8. 基于html人事管理报告,基于C++builder的课程设计报告 (人事管理系统)
  9. OJ1053: 正弦函数(纯数学思想和编程思想两种方法实现)(C语言)
  10. php的运行方式及vc6和vc9,ts和nts区别
  11. 螳螂科技产研分享:做有生命力的SaaS产品架构
  12. 浅谈iOS进阶路线,让自己人生不迷茫!
  13. 1044 火星数字(C语言)
  14. Mecanim动画系统学习笔记
  15. Google浏览器简体中文版下载
  16. 尚医通 (二十)就诊人用户管理 | 平台用户管理
  17. [深度学习笔记(1)]深度学习入门
  18. xingtai - 学习九九乘法表和皇帝的米粒
  19. 联想笔记本电脑w530更换电池的电芯并进行软件重置,不再提示更换电池
  20. 最优化方法——QR Factorization

热门文章

  1. Sun的云计算已飘进数据中心
  2. 华为服务器系统关机命令,各种服务器系统的关机
  3. 项目经理转型独立游戏人?从腾讯裸辞后,他用5个月做了款游戏登上 Steam 热榜...
  4. cmd无法运行java_CMD命令中输入java无法运行文件怎么解决?
  5. java8的String的isBlank方法idea找不到了怎么回事?
  6. 弘辽科技:淘宝店铺b类扣6分有什么影响
  7. wps完成率怎么设置_如何制作多人业绩 完成率滑珠图
  8. 命令提示符 简单使用
  9. ACM-ICPC 2017 Asia Urumqi K. Sum of the Line 容斥
  10. JAVA多商户商城小程序源码带拼团秒杀积分全开源系统商城