echarts 折线图根据x轴时间渲染不同颜色的折线

footIm在这里插入图片描述
如上图所示一条折线多种颜色
后端数据返回"data": [
{
“dateTime”: “2023-10-11 00:02:10”,
“pos”: 6,
“curr”: 104.6
},
{
“dateTime”: “2023-10-11 00:02:39”,
“pos”: 7,
“curr”: 104.6
}, …]

  我们拿到后端返回的res.data传递给我们的echarts 组件
  进行渲染,数据处理。
  export const pressureLineEcharts = (data, params) => {
	  if (data && data.length > 0) {
	    const color = [
	      '#84909E', '#51B4FF', '#50CF5A', '#FDCC10', '#FF1212'
	    ]
	    let pieces = []
	    data.forEach((item, index) => {
	      const curr = Math.floor(item.curr / 50) > 4 ? 4 : Math.floor(item.curr / 50)
	      if (index < data.length - 1) {
	        pieces.push({
	          gte: window.$moment(item.dateTime).valueOf(),
	          lte: window.$moment(data[index + 1].dateTime).valueOf(),
	          color: item.curr ? color[curr] : '#84909E'
	        })
	      } else {
	        pieces.push({
	          gte: window.$moment(item.dateTime).valueOf(),
	          color: item.curr ? color[curr] : '#84909E'
	        })
	      }
	    })
	    return {
	      tooltip: {
	        trigger: 'axis',
	        formatter: params => {
	          const value = params[0].value
	          return `时间:${value[0]}
	                <br>当前位置:${value[1]}#
	                <br>${params[0].seriesName}:${value[2]}A`
	        }
	      },
	      grid: {
	        left: '6%',
	        right: '3%',
	        top: '36',
	        bottom: '36'
	      },
	      xAxis: [
	        {
	          type: 'time',
	          axisPointer: {
	            type: 'shadow'
	          },
	          axisLine: {
	            show: false,
	            lineStyle: {
	              color: '#294259',
	              width: 1,
	              type: 'solid'
	            }
	          },
	          axisLabel: {
	            color: '#838C95',
	            showMaxLabel: true
	          }
	        }
	      ],
	      dataZoom: [
	        {
	          type: 'inside'
	        },
	        {
	          type: 'slider',
	          show: false
	        }
	      ],
	      yAxis: [
	        {
	          name: '架',
	          nameLocation: 'end',
	          nameTextStyle: {
	            color: '#fff',
	            fontSize: 14,
	            padding: [0, 0, 0, -30]
	          },
	          type: 'value',
	          // 横坐标轴线
	          axisLine: {
	            show: false
	          },
	          // 纵坐标,刻度线
	          axisTick: {
	            show: false
	          },
	          // 是否显示横线
	          splitLine: {
	            show: true,
	            lineStyle: {
	              color: '#294259',
	              width: 1,
	              type: 'solid'
	            }
	          },
	          axisLabel: {
	            color: '#fff'
	          }
	        }
	      ],
	      visualMap: [{
	        type: "piecewise",
	        show: false,
	        dimension: 0,
	        // seriesIndex: 0,
	        top: 0,
	        right: 20,
	        textStyle: {
	          color: '#fff'
	        },
	        orient: 'horizontal',
	        pieces
	      }],
	      series: [
	        {
	          name: '刮板运输机机头电流',
	          type: 'line',
	          symbol: 'none',
	          data: data.map(item => [item.dateTime, item.pos, item.curr]),
	          color: '#fff',
	          lineStyle: {
	            width: 1
	          }
	        }
	      ]
	    }
	  } else {
	    return {
	      title: {
	        left: 'center',
	        top: 'center',
	        textStyle: {
	          fontSize: 14
	        },
	        subtext: '暂无数据'
	      }
	    }
	  }
	}

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

mysql原理--Explain详解

1.概述 一条查询语句在经过 MySQL 查询优化器的各种基于成本和规则的优化会后生成一个所谓的 执行计划 &#xff0c;这个执行计划展示了接下来具体执行查询的方式&#xff0c;比如多表连接的顺序是什么&#xff0c;对于每个表采用什么访问方法来具体执行查询等等。设计 MySQL 的…

Java EE Servlet之Cookie 和 Session

文章目录 1. Cookie 和 Session1.1 Cookie1.2 理解会话机制 (Session)1.2.1 核心方法 2. 用户登录2.1 准备工作2.2 登录页面2.3 写一个 Servlet 处理上述登录请求2.4 实现登录后的主页 3. 总结 1. Cookie 和 Session 1.1 Cookie cookie 是 http 请求 header 中的一个属性 浏…

【微服务】2.创建多个服务器

vmware有克隆功能直接拷贝以及设置好的虚拟机 如果要自己设置IP地址&#xff0c;修改/etc/sysconfig/network-scripts/ 编辑ifcfg-ens33需改ip地址 #开机加载网络配置启动网络服务 ONBOOT"yes" #分配ip的协议 none static :不自动分配&#xff0c;手动设置ip / dhcp…

Iterator(迭代器) 和 list

Iterator&#xff08;迭代器&#xff09; 和 list 文章目录 一、Iterator&#xff08;迭代器&#xff09;二、list 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、Iterator&#xff08;迭代器&#xff09; 对 collection 进行迭代的迭代器。迭代器…

基于简化版python+VGG+MiniGoogLeNet的智能43类交通标志识别—深度学习算法应用(含全部python工程源码)+数据集+模型(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建1&#xff09;VGG模型简化版2&#xff09;GoogLeNet简化版——MiniGoogLeNet 3. 模型训练及保存 相关其它博客工程源代码下载其它资料下载 前言 本项目专注于解决出国自驾游特定场景下的交…

Avalonia学习(十六)-Mapsui

今天开始继续Avalonia练习。 本节&#xff1a;Mapsui 1.引入 Mapsui.Avalonia 2.项目引入 前台代码 <Window xmlns"https://github.com/avaloniaui"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:vm"using:MapsuiAvalonia.Vi…

个人任务和项目管理软件tududi的安装

现在已经是 2024 年了&#xff0c;祝大家新年快乐&#xff0c;万事如意。 什么是 tu|du|di ? tu|du|di是一个使用 Sinatra 构建的任务和项目管理 Web 应用程序。它允许用户有效地管理他们的任务和项目&#xff0c;将它们分类到不同的区域&#xff0c;并跟踪截止日期。tu|du|d…

Linux驱动学习—ioctl接口

1、unlock_ioctl和ioctl有什么区别&#xff1f; kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针&#xff0c;取而代之的是unlocked_ioctl 。ioctl是老的内核版本中的驱动API&#xff0c;unlock_ioctl是当下常用的驱动API。unlocked_ioctl 实际上取…

服务器监控软件夜莺部署(一)

文章目录 一、夜莺介绍1. 简介2. 相关网站 二、夜莺部署1. 部署架构2. Docker启动3. 配置数据源4. 内置仪表盘效果5. 时序指标效果 一、夜莺介绍 1. 简介 夜莺监控系统是一款专业的服务器监控软件&#xff0c;它可以帮助用户实时监测服务器的CPU、内存、磁盘利用率等。 夜莺监…

0101包冲突导致安装docker失败-docker-云原生

文章目录 1 前言2 报错3 解决结语 1 前言 最近在学习k8s&#xff0c;前置条件就是要安装指定版本的docker&#xff0c;命令如下 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.62 报错 file /usr/libexec/docker/cli-plugins/docker-buildx fr…

动态内存管理篇

为什么要动态内存分配&#xff1f; 之前&#xff0c;我们向内存申请空间&#xff0c;有两种方式&#xff0c;一种是定义变量&#xff0c;一种是建立数组&#xff1b;但是&#xff0c;这两种方式都有缺陷&#xff0c;创建的空间大小是固定的&#xff0c;在程序的运行过程中&…

听GPT 讲Rust源代码--library/alloc(2)

File: rust/library/alloc/src/vec/mod.rs 在Rust源代码中&#xff0c;rust/library/alloc/src/vec/mod.rs这个文件是Rust标准库中的Vec类型的实现文件。Vec是一个动态大小的数组类型&#xff0c;在内存中以连续的方式存储其元素。 具体来说&#xff0c;mod.rs文件中定义了以下…

我的512天创作者纪念日总结:高效、高现

文章目录 512天创作者纪念日&#xff1a;2023年的12月31日CSDN的512天消息提醒第一篇文章&#xff0c;最后一篇文章总计847篇文章&#xff0c;每月发文分布512天&#xff0c;各专栏文章统计512天&#xff0c;互动总成绩 512天创作者纪念日&#xff1a;2023年的12月31日 2023年…

【Linux C | 文件I/O】fcntl函数详解 | 设置描述符非阻塞、文件(记录)锁

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

什么情况下不应该使用 LockWindowUpdate ?

在之前的文章中&#xff0c;我们将了解了 LockWindowUpdate 应该在什么场景下使用&#xff0c;也就是拖动的场景。 今天&#xff0c;我们来看看 LockWindowUpdate 被误用的一些场景。 人们看到 LockWindowUpdate 的“您锁定的窗口将无法重新绘制自身”行为&#xff0c;并将其…

ToDesk Linux 客户端安装(欧拉系统)

下载链接 下载链接 https://newdl.todesk.com/linux/todesk-v4.3.1.0-x86_64.rpm &#xff08;使用4.3.1.0覆盖安装后&#xff0c;临时密码将会变更&#xff09; 安装命令&#xff1a; sudo rpm -Uvh todesk-v4.3.1.0-x86_64.rpm启动命令&#xff1a; todesk启动命令只能在桌…

Spring通信传参的方法

Spring通信传参的方法 目录概述需求&#xff1a; 设计思路实现思路分析1.简单参数传递2.复合参数3.动态参数 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better resul…

typescript,eslint,prettier的引入

typescript 首先用npm安装typescript&#xff0c;cnpm i typescript 然后再tsc --init生成tsconfig.json配置文件&#xff0c;这个文件在package.json同级目录下 最后在tsconfig.json添加includes配置项&#xff0c;在该配置项中的目录下&#xff0c;所有的d.ts中的类型可以在…

[新版Hi3531DV200 性能强悍]

新版Hi3531DV200 性能强悍 Hi3531DV200是针对多路高清/超高清&#xff08;1080p/4M/5M/4K&#xff09;DVR产品应用开发的新一代专业SoC芯片。Hi3531DV200集成了ARM A53四核处理器和性能强大的神经网络推理引擎&#xff0c;支持多种智能算法应用。同时&#xff0c;Hi3531DV200还…

听GPT 讲Rust源代码--library/alloc

File: rust/library/alloc/benches/slice.rs 在Rust源代码中&#xff0c;rust/library/alloc/benches/slice.rs文件的作用是对&[T]类型&#xff08;切片类型&#xff09;进行性能基准测试。该文件包含了对切片类型的一系列操作的基准测试&#xff0c;例如切片迭代、切片排序…