vue中使用echarts绘制双Y轴图表时刻度没有对齐的两种解决方法(最新方案)

 更新时间:2024年03月13日 09:38:52   作者:邹荣乐  
这篇文章主要介绍了vue中使用echarts绘制双Y轴图表时,刻度没有对齐的两种解决方法,主要原因是因为刻度在显示时,分割段数不一样,导致左右的刻度线不一致,不能重合在一起,下面给大家分享解决方法,需要的朋友可以参考下

1、原因

刻度在显示时,分割段数不一样,导致左右的刻度线不一致,不能重合在一起。

2、思路

根据上面的原因去分析,要想左右的刻度线一致,分隔的段数是必须是一样的,这样才能重合。

3、解决方法

3.1、使用alignTicks解决

  • 从 v5.3.0 开始支持
  • 在多个 y 轴为数值轴的时候,可以开启该配置项自动对齐刻度。只对’value’和’log’类型的轴有效。
yAxis: [
    {
        type: 'value',
        name: '水量',
        alignTicks: true,
        axisLabel: {
            formatter: '{value} ml'
        }
    },
    {
        type: 'value',
        name: '温度',
        alignTicks: true,
        axisLabel: {
            formatter: '{value} °C'
        }
    }
],

效果展示

3.2、结合min和max属性去配置interval属性

1、首先固定两边的分隔的段数。

  • 分别求出左边Y轴和右边Y轴的最大值max和最小值min,根据max和min之间的和去除以分隔的段数,分别算出左边Y轴和右边Y轴的分隔间隔。

在ECharts中有两个很重要的属性:

  • interval:强制设置坐标轴分割间隔。
  • splitNumber:坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整。

2、结合min和max属性去配置interval。

  • 这是测试数据
let lData = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
let rData = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 92.0, 6.2]

计算最大值和最小值

let lMax = Number(Math.max(...lData))
let lMin = Number(Math.min(...lData))
let rMax = Number(Math.max(...rData))
let rMin = Number(Math.min(...rData))

最大值向上取整,最小值向下取整,让显示的数据为10的倍数或100的倍数整数显示。

lMax = Math.ceil(lMax / 100) * 100
lMin = Math.floor(lMin / 100) * 100
rMax = Math.ceil(rMax / 10) * 10
rMin = Math.floor(rMin / 10) * 10

计算分隔间隔

let splitNumber = 10
let lInterval = lMax / splitNumber
let rInterval = rMax / splitNumber

配置yAxis

yAxis: [
    {
        type: 'value',
        name: '水量',
        splitNumber:splitNumber,
        min: lMin,
        max: lMax,
        interval: lInterval,
        axisLabel: {
            formatter: '{value} ml'
        }
    },
    {
        type: 'value',
        name: '温度',
        splitNumber:splitNumber,
        min: rMin,
        max: rMax,
        interval: rInterval,
        axisLabel: {
            formatter: '{value} °C'
        }
    }
],

效果展示

到此这篇关于vue中使用echarts绘制双Y轴图表时,刻度没有对齐的两种解决方法的文章就介绍到这了,更多相关vue echarts绘制双Y轴图表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • uni-app在线预览pdf文件的方法教程

    uni-app在线预览pdf文件的方法教程

    这篇文章主要介绍了uni-app在线预览pdf文件的相关资料,本文主要介绍了如何在Vue项目中使用PDF.js插件进行PDF文件的预览,包括插件的下载、版本兼容问题的处理,以及在static文件夹下新建pdf文件夹存放解压文件,需要的朋友可以参考下
    2024-10-10
  • 使用vue实现通过变量动态拼接url

    使用vue实现通过变量动态拼接url

    这篇文章主要介绍了使用vue实现通过变量动态拼接url,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue使用refs获取嵌套组件中的值过程

    vue使用refs获取嵌套组件中的值过程

    这篇文章主要介绍了vue使用refs获取嵌套组件中的值过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • vue3 销毁组件方法及问题解决方案

    vue3 销毁组件方法及问题解决方案

    这篇文章主要介绍了vue3 销毁组件方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • vue addRoutes实现动态权限路由菜单的示例

    vue addRoutes实现动态权限路由菜单的示例

    本篇文章主要介绍了vue addRoutes实现动态权限路由菜单的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • vue3前端获取文件的绝对路径问题解决

    vue3前端获取文件的绝对路径问题解决

    这篇文章主要给大家介绍了关于vue3前端获取文件的绝对路径问题解决的相关资料,文中通过代码示例介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解

    vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解

    这篇文章主要介绍了vue项目中企业微信使用js-sdk时config和agentConfig配置,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • vue自定v-model实现表单数据双向绑定问题

    vue自定v-model实现表单数据双向绑定问题

    vue.js的一大功能便是实现数据的双向绑定。这篇文章主要介绍了vue自定v-model实现 表单数据双向绑定的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • 详细聊聊Vue.js中的MVVM

    详细聊聊Vue.js中的MVVM

    MVVM旨在利用WPF中的数据绑定函数,通过从视图层中几乎删除所有GUI代码(代码隐藏),更好地促进视图层开发与模式其余部分的分离,这篇文章主要给大家介绍了关于Vue.js中MVVM的相关资料,需要的朋友可以参考下
    2022-03-03
  • 基于uniapp+vue3 实现72小时倒计时功能

    基于uniapp+vue3 实现72小时倒计时功能

    数组项有一个下单时间 ,比如今天下单在72小时内可以继续支付,超过则默认取消订单,下面通过实例代码介绍uniapp+vue3 实现72小时倒计时功能,感兴趣的朋友一起看看吧
    2025-05-05

最新评论