当前位置: 首页 > news >正文

echarts 折线图动态基准线设置超出基准线标红

基准线属性:markLine

线条标红关键属性:visualMap

小于: lt (less than)

大于:gt (greater than)

小于等于:lte (Less than or equal to)

大于等于:gte (Greater than or equal to)

1、基础应用——2条基准线

当存在2条基准线时,折线图切割为3部分,小于最低基准线和大于最高标准线的部分标红,中间位置为蓝色。代码如下(可直接cv到echarts官网的调试页面):

option = {xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {type: 'value'},visualMap: {pieces: [{lte: 160,  // 小于等于160color: 'red' // 为红色},{gt: 160, // 大于160lte: 225, // 小于等于225color: '#5470c6' // 为蓝色},{gt: 225, // 大于225color: 'red' // 为红色}],show: false, // 不显示色块的图例},series: [{data: [150, 230, 224, 218, 135, 147, 260],type: 'line',markLine: {symbol: 'none',data: [{yAxis: 160, // 最小值label: {show: true},lineStyle: {type: 'dashed',color: '#b17063'}},{yAxis: 225, // 最大值label: {show: true},lineStyle: {type: 'dashed',color: '#b17063'}}]}}]
};

2. 1条基准线,该线可能为最大值,可能为最小值

一条基准线时,需要注意visualMap.pieces里面的数据不可以相同,否则会报错。解决方案就是在gt或gte的数值后加上0.0001

1. 基准线为最小值时

当基准线为最低限时,需要做到小于基准线的部分标红,其余为蓝色

// ...
visualMap: {pieces: [{lte: 160, // 小于或等于160color: 'red' // 为红色},{gt: 160.0001, // 大于160color: '#5470c6' // 为蓝色}],show: false},
series: [{data: [150, 230, 224, 218, 135, 147, 260],type: 'line',markLine: {symbol: 'none',data: [{yAxis: 160, // 最小值label: {show: true},lineStyle: {type: 'dashed',color: '#b17063'}}]}}]

2. 基准线为最大值时

当基准线为最大限时,需要做到小于基准线的部分为蓝色,超过基准的部分为红色

 // ...visualMap: {pieces: [{lte: 225, // 小于等于225color: '#5470c6' // 为蓝色},{gt: 225.0001, // 大于225color: 'red' // 为红色}],show: false},
series: [{data: [150, 230, 224, 218, 135, 147, 260],type: 'line',markLine: {symbol: 'none',data: [{yAxis: 225, // 最大值label: {show: true},lineStyle: {type: 'dashed',color: '#b17063'}}]}}]

 3. 通用方法——当不确定有几条基准线时

已知后端返回的基准线的数据格式为数组lines:[data, data]lines第一项为最小值,第二项是最大值。lines[0]=null时则没有最小值,lines[1]=null时则没有最大值。

      // 图表超出上下限值的部分显示红色getVisualMapData(lines) {if(lines?.length) {if(lines[0] && lines[1]) {// 存在上下限值return [{lt: lines[0],// 小于最小值color: 'red',// 为红色},{gte: lines[0],// 大于或等于最小值lte: lines[1],// 小于或等于最大值color: '#5470c6', // 为蓝色},{gt: lines[1],// 大于最大值color: 'red',// 为红色},];} else if(lines[0] && ! lines[1]) {// 只存在下限值return [{lt: lines[0],// 小于最小值color: 'red',// 为红色},{gte: lines[0] + 0.00001,// 大于或等于最小值color: '#5470c6',// 为蓝色},];} else if(! lines[0] && lines[1]) {// 只存在上限值return [{gt: lines[1] + 0.00001,// 大于最大值color: 'red',// 为红色},{lte: lines[1],// 小于或等于最大值color: '#5470c6',// 为蓝色},];} else {// 没有上下限值return null;}} else {return null;}},

使用该方法:

const visualMapData = this.getVisualMapData(lines);// ...
option = {visualMap: visualMapData ? {pieces: visualMapData,show: false,} : undefined,
}

相关文章:

echarts 折线图动态基准线设置超出基准线标红

基准线属性:markLine 线条标红关键属性:visualMap 小于: lt (less than) 大于:gt (greater than) 小于等于:lte (Less than or equal to) 大于等于:gte (Greater than or equal to) 1、基础应用——2条基准…...

Part 3 第十二章 单元测试 Unit Testing

概述 第十二章围绕单元测试展开,阐述了单元测试的实践与重要性,通过对比其他测试类型,突出其特点,还介绍了单元测试的最佳实践、避免的反模式以及与测试替身相关的内容,为编写高质量单元测试提供指导。 章节概要 1…...

C++与Python:两种编程语言的区别

C和Python都是当今编程领域广泛使用的语言,它们各有特色,适用于不同的开发场景。本文将从语言特性、性能、学习难度、应用领域等多个方面探讨C与Python之间的区别。 一、语言特性 类型系统: C:是一种静态类型语言&#xf…...

Springboot 高频面试题

以下是Spring Boot的高频面试题及答案和底层原理解释: 基础概念 什么是Spring Boot,其主要特点是什么? 答案: Spring Boot本质上是一个建立在Spring框架之上的快速应用开发框架。其主要特点包括: 启动器:一…...

常用电脑,护眼软件推荐 f.lux 3400K | 撰写论文 paper

常用电脑?平均每天用 5 个小时?你就要考虑用一个护眼软件了,对皮肤也好。因为电脑屏幕有辐射,比如蓝光。 f.lux 作为一款专业护眼软件,值得使用。之前用了三年的 Iris Pro,现在 f.lux 做的更好了。 使用…...

MacOS下使用Ollama本地构建DeepSeek并使用本地Dify构建AI应用

目录 1 大白话说一下文章内容2 作者的电脑配置3 DeepSeek的本地部署3.1 Ollamal的下载和安装3.2 选择合适的deepseek模型3.3 安转deepseek 4 DifyDeepSeek构建Al应用4.1 Dify的安装4.1.1 前置条件4.1.2 拉取代码4.1.3 启动Dify 4.2 Dify控制页面4.3 使用Dify实现个“文章标题生…...

如何有效利用MYSQL的连接数

连接数配置2500~3000 依然发现连接不够用? -- 查看当前最大连接数 SHOW VARIABLES LIKE MAX_CONNECTIONS; -- 查看当前总链接数 SHOW STATUS LIKE Threads_connected; -- 查看当前进程明细 SHOW PROCESSLIST; 合理设置以下参数: 1. MySQL 的参数设置 …...

调用click.getchar()时Windows PyCharm无法模拟键盘输入

文章目录 问题描述解决方案参考文献 问题描述 调用 click.getchar() 时,Windows PyCharm 无法模拟键盘输入 解决方案 Run → Edit Configurations… → Modify options → Emulate terminal in output console 参考文献 Terminal emulator | PyCharm Documentati…...

使用Hardhat实现ERC20 代币合约详解

ERC20 代币合约详解 💰 1. 合约概览 // SPDX-License-Identifier: MIT pragma solidity ^0.8.20;import "openzeppelin/contracts/token/ERC20/ERC20.sol";contract MyToken is ERC20 {constructor() ERC20("MyToken", "MTK") {_min…...

清华大学《DeepSeek与AI幻觉》(无套路免费分享)

随着人工智能技术的飞速发展,以DeepSeek为代表的国产大模型正逐渐成为各行各业的重要工具。然而,AI在生成内容时常常会出现“幻觉”——即生成与事实不符、逻辑断裂或脱离上下文的内容。 清华大学新闻与传播学院与人工智能学院联合推出的这篇教程《Deep…...

代码随想录算法【Day52】

Day51 101. 孤岛的总面积 思路 从周边找到陆地然后 通过 dfs或者bfs 将周边靠陆地且相邻的陆地都变成海洋&#xff0c;然后再去重新遍历地图 统计此时还剩下的陆地 代码 #include <iostream> #include <vector> using namespace std; int dir[4][2] {-1, 0, …...

Spark 和 Flink

Spark 和 Flink 都是目前流行的大数据处理引擎&#xff0c;但它们在架构设计、应用场景、性能和生态方面有较大区别。以下是详细对比&#xff1a; 1. 架构与核心概念 方面Apache SparkApache Flink计算模型微批&#xff08;Micro-Batch&#xff09;为主&#xff0c;但支持结构…...

Unity结合Vuforia虚拟按键实现AR机械仿真动画效果

零、最终效果 待上传 一、资源准备 1、Vuforia Vuforia版本不能高于10.17.4&#xff08;往上的版本虚拟按键功能被删除&#xff09; 2、Unity Unity版本必须要高于2022.3.x&#xff0c;不然使用Vuforia插件时会出现bug 二、主要内容 1、添加虚拟按钮 2、为虚拟按钮设置…...

PL/SQL 异常处理

目录 一、命名的系统异常 1.常见命名的系统异常 2.预定义的系统异常数量以及描述 3.处理命名的系统异常的一般步骤 二、程序员定义的异常 1.概念 2.自定义异常的定义与抛出 3.自定义异常的处理 三、未命名的系统异常 1.概述 2.处理未命名的系统异常的方法 3.使用场景 …...

【自学笔记】Spring Boot框架技术基础知识点总览-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Spring Boot框架技术基础知识点总览一、Spring Boot简介1.1 什么是Spring Boot&#xff1f;1.2 Spring Boot的主要特性 二、Spring Boot快速入门2.1 搭建Spring Boo…...

Redis 缓存穿透、击穿、雪崩:问题与解决方案

在使用 Redis 作为缓存中间件时&#xff0c;系统可能会面临一些常见的问题&#xff0c;如 缓存穿透、缓存击穿 和 缓存雪崩。这些问题如果不加以解决&#xff0c;可能会导致数据库压力过大、系统响应变慢甚至崩溃。本文将详细分析这三种问题的起因&#xff0c;并提供有效的解决…...

第一个CMAKE项目hello cmake

#注意&#xff01; 这篇文章是为WINDWOS用户写的 #请检查你的电脑上已经安装了MINGW和CMAKE 快速检查方法如下 C:\Users\Basicoperation>g --version g (x86_64-win32-seh-rev1, Built by MinGW-Builds project) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc. …...

骶骨神经

骶骨肿瘤手术后遗症是什么_39健康网_癌症 [健康之路]匠心仁术&#xff08;七&#xff09; 勇闯禁区 骶骨肿瘤切除术...

基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 当今社会进入了科技进步、经济社会快速发展的新时代。国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统购物管理采取了人工的管理方法&#xff0c;但这种管理方法存…...

使用快捷键高效管理 VSCode:提升工作效率,告别鼠标操作

如果你想提高工作效率&#xff0c;减少鼠标操作&#xff0c;掌握键盘快捷键是一个非常有效的方式。在编程过程中&#xff0c;熟练使用快捷键能够快速管理文件、标签页&#xff0c;节省时间并提升效率。比如&#xff0c;Ctrl P 和 Ctrl W 可以快速打开和关闭文件&#xff0c;而…...

解决Linux蓝牙音频连接疑难杂症:BlueZ 5.50与PulseAudio 12.2常见报错分析与修复指南

Linux蓝牙音频深度排障指南&#xff1a;从协议栈原理到实战修复 当你满心欢喜地戴上蓝牙耳机&#xff0c;准备在Linux系统上享受音乐时&#xff0c;却发现设备明明显示已连接却死活不出声——这种挫败感我太熟悉了。作为经历过数十种蓝牙音频故障的老兵&#xff0c;我将在本文分…...

2026年04月23日最热门的开源项目(Github)

根据本期榜单的分析&#xff0c;我们可以得出以下几点结论&#xff1a; 1. 项目类型和语言分布 项目类型&#xff1a;列表中的项目主要集中在人工智能、代码生成和优化、数据处理等领域。其中&#xff0c;以支持Claude Code的项目&#xff08;如andrej-karpathy-skills和supe…...

ENSP实验避坑指南:搞定三层交换、路由器与Cloud互联的那些‘坑’(附完整配置备份)

ENSP实验避坑指南&#xff1a;三层交换、路由器与Cloud互联的实战排错 1. 实验环境搭建的常见陷阱 在ENSP实验中&#xff0c;环境搭建是第一步&#xff0c;也是最容易出问题的地方。很多初学者在配置Cloud、三层交换机和路由器时&#xff0c;常常因为一些细节问题导致整个实验无…...

基于SpringBoot的大连市IT行业招聘平台的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商功能模块设计招聘信息管理模块智能匹配模块数据分析模块消息通知模块后台管理模块技术实现要点项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商…...

终极DLSS版本管理指南:3步解决游戏性能瓶颈

终极DLSS版本管理指南&#xff1a;3步解决游戏性能瓶颈 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款专为PC游戏玩家设计的智能工具&#xff0c;它解决了现代游戏优化中最棘手的兼容性问题&#x…...

嵌入式C语言与轻量大模型适配终极 checklist:12项硬性约束、5类编译器特异性陷阱、1次烧录即生效方案

第一章&#xff1a;嵌入式C语言与轻量级大模型适配如何实现快速接入在资源受限的嵌入式设备&#xff08;如 Cortex-M4/M7、RISC-V MCU&#xff09;上运行大语言模型&#xff0c;关键在于将模型推理能力以最小开销融入 C 语言生态。这并非简单移植 Python 推理框架&#xff0c;而…...

世界读书日:别再收藏书单了,你根本不会去读

你可能收藏过很多书单。微信里、Notion 里、各种电子书平台里&#xff0c;一堆“今年一定要读”的书。但如果你回头看一眼&#xff0c;大概率会发现——你其实一本都没读完。甚至&#xff0c;你已经很久没有完整读完一本书了。这不是你的问题。今年的世界读书日&#xff0c;有一…...

real-anime-z惊艳效果展示:樱花雨中角色特写,发丝/光斑/纹理逐级解析

real-anime-z惊艳效果展示&#xff1a;樱花雨中角色特写&#xff0c;发丝/光斑/纹理逐级解析 1. 开篇&#xff1a;当AI遇见二次元 想象一下这样的场景&#xff1a;樱花纷飞的春日午后&#xff0c;一位银发少女站在树下&#xff0c;阳光透过花瓣在她身上投下斑驳的光影。她的发…...

2025_NIPS_Convergence Theorems for Entropy-Regularized and Distributional Reinforcement Learning

文章核心总结与创新点 主要内容 该研究聚焦熵正则化强化学习(ERL)和分布强化学习(DRL)的收敛性问题,针对传统ERL在温度趋近于零时最优策略模糊、DRL缺乏收敛迭代方案的缺陷,提出温度解耦策略(temperature decoupling gambit),构建了可解释、保多样性的最优策略框架,…...

099_神经渲染之NeRF:其概念,其实现原理,其适用的场景,常见的应用,以及未来布局的产业和市场,以及涉及

神经渲染革命&#xff1a;一文读懂NeRF的核心原理、应用与未来 引言 想象一下&#xff0c;仅用几张普通照片&#xff0c;就能生成一个可以从任意角度浏览、光影逼真的3D场景。这不再是科幻电影的桥段&#xff0c;而是神经辐射场&#xff08;NeRF&#xff09; 技术带来的革命。…...