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

文章目录

      • 1、原因
      • 2、思路
      • 3、解决方法
        • 3.1、使用alignTicks解决
        • 3.2、结合min和max属性去配置interval属性
          • 1、首先固定两边的分隔的段数。
          • 2、结合min和max属性去配置interval。

在这里插入图片描述

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'
        }
    }
],
  • 效果展示
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/405846.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决Maven爆红以及解决 Idea 卡在 Resolving问题

关于 Idea 卡在 Resolving(前提是Maven的setting.xml中配置好了阿里云和仓库) 参考文章https://blog.csdn.net/jiangyu1013/article/details/95042611 解决Maven爆红参考文章https://devpress.csdn.net/beijing/656d993b76f0791b6eca7bb0.html?dp_toke…

可在线免费使用的5款ChatGPT平替网站!

可在线免费使用的5款ChatGPT平替网站! 渗透智能 ShirtAI 是一款全方位AI产品,集成问答绘画导图等功能!支持联网功能、 支持上下文对话、支持模糊匹配自定义回复消息、 支持注册配置自定义赠送额度、支持生成专属邀请码邀请用户双方共同获得额度。 https…

【深蓝学院】移动机器人运动规划--第6章 模型预测控制(MPC)与运动规划--笔记

0. Outline 1. Reactive Control(反应式控制) 控制学中的 “Reactive Control” 通常指的是一种控制策略,它依赖于系统对特定事件或变化的即时反应,而不是按照预定的计划或策略行动。这种控制往往是基于当前的传感器输入来做出决…

ARM服务器部署Kafka集群

安装前必备的条件是: (1)安装jdk(提供环境); (2)安装zookeeper(注册kafka信息); 需要这方面信息的可以查看我之前写的文档; 一.下载安装包 Kafka官网下载地址 Apache Kafka 根据自己需要下载相应的版本 目前最新的版本是3.6.1。 二.解压安装包 服务器上传下载好的kafk…

紫光同创初使用

芯片PGC2KG-6LPG144 1、安装好软件接,加载license,有两个,与电脑MAC地址绑定的 2、正常使用后,新建个工程,配置管脚Tools→UCE 3、程序中有些信号被软件认为是时钟信号,会报错(时钟输入I0约束在非专用时钟…

【Python如何求出水仙花数】

1、求水仙花数Python代码如下: # 求水仙花数:只需要个十百位的3次幂之和与原数相等 for i in range(100, 1000): # 循环100-999整数i1 i % 10 # 取个位 “%”表示除以后取余数i2 i // 10 % 10 # 取十位i3 i // 100 # 取百位 “//”表示除以后取整…

使用 yarn 的时候,遇到 Error [ERR_REQUIRE_ESM]: require() of ES Module 怎么解决?

晚上回到家,我打开自己的项目,执行: cd HexoPress git pull --rebase yarn install yarn dev拉取在公司 push 的代码,然后更新依赖,最后开始今晚的开发时候,意外发生了,竟然报错了,…

[网鼎杯 2020 白虎组]PicDown

网鼎杯的,这应该是送分的那种 界面很普通,就长这样。源代码也没什么,随便输入试试 出现了"/page?url1" 这可能是ssrf题目。 但是尝试了一些payload发现下载了一张图片,并且url里自动补齐了127.0.0.1。使用记事本打开…

32.云原生Istio流量管理之官网Bookinfo应用实战演示

云原生专栏大纲 文章目录 流量管理基于版本的路由配置基于 Http header 的路由配置故障注入延迟故障注入异常故障注入故障注入测试 比例分配流量请求超时熔断什么是熔断创建 httpbin 服务创建访问者服务 流量管理 Istio 是服务治理的工具,Istio 的流量管理能力&am…

基于SpringBoot的气象数据监测分析大屏

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

Jetpack Compose 架构层

点击查看:Jetpack Compose 架构层 官网 本页面简要介绍了组成 Jetpack Compose 的架构层,以及这种设计所依据的核心原则。 Jetpack Compose 不是一个单体式项目;它由一些模块构建而成,这些模块组合在一起,构成了一个完…

大模型+影像:智能手机“上春山”

这个春节假期,一首《上春山》火了。吃瓜群众热热闹闹学了一个假期的“春山学”,了解了抢占C位的各种技巧。 假期过去,开工大吉,手机行业开始抢占今年的C位。那么问题来了,今年智能手机最大的机会点在哪里?答…

SpringCloud(16)之SpringCloud OpenFeign和Ribbon

一、Spring Cloud OpenFeign介绍 Feign [feɪn] 译文 伪装。Feign是一个轻量级的Http封装工具对象,大大简化了Http请求,它的使用方法 是定义一个接口,然后在上面添加注解。不需要拼接URL、参数等操作。项目主页:GitHub - OpenFeign/feign: Feign makes w…

leetcode刷题日志-98.验证二叉搜索树

思路:根据二叉搜索树的性质,中序遍历满足升序。那么我们就可以使用中序dfs,并且记录每个节点的前一个节点的值,如果前一个节点值比后一个大,返回false。 class Solution {Integer pre null; //记录前序节点boolean …

[NCTF2019]True XML cookbook --不会编程的崽

题目的提示很明显了&#xff0c;就是xxe攻击&#xff0c;直接抓包。 <?xml version "1.0"?> <!DOCTYPE ANY [ <!ENTITY xxe SYSTEM "file:///etc/passwd" > ]> <user><username> &xxe; </username><passwor…

如何将新标注的三元组数据转换成unicoqe可以处理的格式

目录 问题描述&#xff1a; 问题解决&#xff1a; 问题描述&#xff1a; 原始的标注的三元组格式如下&#xff1a; 需要转换的格式如下&#xff1a; tips:有一个小的难点&#xff1a; 1. 针对多三元组的情况&#xff0c;需要额外考虑 2. 最后一个样本&#xff0c;也记得需要…

python程序设计基础:字符串与正则表达式

第四章&#xff1a;字符串与正则表达式 4.1字符串 最早的字符串编码是美国标准信息交换码ASCII&#xff0c;仅对10个数字、26个大写英文字母、26个小写英文字母及一些其他符号进行了编码。ASCII码采用1个字节来对字符进行编码&#xff0c;最多只能表示256个符号。 随着信息技…

SpringBoot和SpringCloud的区别,使用微服务的好处和缺点

SpringBoot是一个用于快速开发单个Spring应用程序的框架&#xff0c;通过提供默认配置和约定大于配置的方式&#xff0c;快速搭建基于Spring的应用。让程序员更专注于业务逻辑的编写&#xff0c;不需要过多关注配置细节。可以看成是一种快速搭建房子的工具包&#xff0c;不用从…

2023年12月CCF-GESP编程能力等级认证C++编程三级真题解析

一、单选题(共15题,共30分) 第1题 下面C++数组的定义中,会丢失数据的是( )。 A:char dict_key[] = {‘p’,‘t’,‘o’}; B:int dict_value[] = {33,22,11}; C:char dict_name[]={‘chen’,‘wang’,‘zhou’}; D:float dict_value[]={3,2,1}; 答案:C 第2题 在下…

通过北辰以太网模块BCnet-FX实现与FX3U系列PLC进行以太网通信的具体方法

通过北辰以太网模块BCnet-FX实现与FX3U系列PLC进行以太网通信的具体方法 首先,在电脑的网络和Internet设置中,找到自己当前使用的网卡,如下图所示,设置该网卡的IP地址和子网掩码,(和想要连接的FX3U PLC设置在同一网段即可), 如下图所示,点击下方的连接目标,然后双击当…