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

Echarts面积图2.0(范围绘制)

代码:

// 以下代码可以直接粘贴在echarts官网的示例上
// 范围值
let normalValue = {type: '内部绘制',minValue: 200,maxValue: 750
}
// 原本的绘图数据
let seriesData = [820, 932, 901, 934, 1290, 1330, 1320]
let minData = Array.from({length: seriesData.length}, () => normalValue.minValue) 
let maxData = Array.from({length: seriesData.length}, () => normalValue.maxValue) 
// 获取当前折线图的y轴的最大值(用于两侧绘制) -- 在原本的绘图完成之后进行获取,然后进行重新配置和渲染
// getComponent参数:
// 参数一:轴名称 y轴 -- "yAxis"   x轴 -- "xAxis"
// 参数二:存在多个y轴时,求最值的对应轴的索引
// _extent的索引:0代表求最小值,1代表求最大值 
// let yAxisMax = myChart.getModel().getComponent("yAxis",0).axis.scale._extent[1]
// let yAxisMaxData = Array.from({length: seriesData.length}, () => yAxisMax) 
let yAxisMaxData = [1330,1330,1330,1330,1330,1330,1330] // 假数据option = {xAxis: {type: 'category',boundaryGap: false,data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},tooltip: {show: true,trigger:  'axis',formatter: (params) => {let str = ''console.log('params',params)if (normalValue && params.length) { // 有正常值let marker = ''str = `<div><div>${params[0].name}</div>`params.forEach(item => {if(item.seriesName !== '范围值') {str += `<div>${item.marker}<span>${item.seriesName}:</span><span>${item.value}</span></div>`} else {marker = item.marker}})if(normalValue.type ==='一条线') {str += `<div>${marker}<span>范围值:</span><span>${normalValue.minValue}</span></div>`str += `</div>`} else {str += `<div>${marker}<span>范围值:</span><span>${normalValue.minValue}~${normalValue.maxValue}</span></div>`str += `</div>`}} else {str = params}return str}},legend: {data: ['1', '范围值']},yAxis: {type: 'value',max: 'dataMax'},series: [{name: '1',data: seriesData,type: 'line',},// 内部绘制 200-750// { // 最小值进行折线图的绘制//   name: '范围值',//   data: minData,//   type: 'line',//   stack: '内部绘制',//   symbol: 'none',//   legendHoverLink: false,//   triggerLineEvent: false,//   emphasis: {//     disabled: true//   },//   lineStyle: {//     color: 'transparent'//   }// },// {//   name: '范围值', // 最大值进行面积图的绘制//   data: maxData,//   type: 'line',//   stack: '内部绘制',//   triggerLineEvent: false,//   legendHoverLink: false,//   emphasis: {//     disabled: true//   },//   areaStyle: {//     color: '#e9fae9'//   },//   symbol: 'none',//   lineStyle: {//     color: 'rgba(255,255,255,0)'//   }// }// 范围值只有一个数据 200// {//   name: '范围值',//   data: minValue,//   type: 'line',//   symbol: 'none',//   legendHoverLink: false,//   triggerLineEvent: false,//   emphasis: {//     disabled: true//   },//   lineStyle: {//     color: '#e9fae9'//   }// },// 两侧绘制 200-750{ // 最大值正常绘制折线图name: '范围值',data: maxData,type: 'line',stack: '范围外',triggerLineEvent: false,legendHoverLink: false,emphasis: {disabled: true},symbol: 'none',lineStyle: {color: 'transparent'}},{ // y轴的最大值绘制面积图name: '范围值',data: yAxisMaxData,type: 'line',stack: '范围外',triggerLineEvent: false,legendHoverLink: false,emphasis: {disabled: true},areaStyle: {color: '#e9fae9'},symbol: 'none',lineStyle: {color: 'rgba(255,255,255,0)'}},{ // 最小值正常绘制面积图name: '范围值',data: minData,type: 'line',triggerLineEvent: false,legendHoverLink: false,emphasis: {disabled: true},areaStyle: {color: '#e9fae9'},symbol: 'none',lineStyle: {color: 'rgba(255,255,255,0)'}}]
};// if(normalValue) { // 有范围值的数据
//   option.legend.data.push('范围值')
//   let oneData = seriesData[0].data
//   let minData = Array.from({length: oneData.length}, () => normalValue.minValue) 
//   let maxData = Array.from({length: oneData.length}, () => normalValue.maxValue) 
//   if (normalValue.type === '内部绘制') {
//     option.series.push({ // 最小值进行折线图的绘制
//         name: '范围值',
//         data: minData,
//         type: 'line',
//         stack: '内部绘制',
//         symbol: 'none',
//         legendHoverLink: false,
//         triggerLineEvent: false,
//         emphasis: {
//           disabled: true
//         },
//         lineStyle: {
//           color: 'transparent'
//         }
//       },
//       {
//         name: '范围值', // 最大值进行面积图的绘制
//         data: maxData,
//         type: 'line',
//         stack: '内部绘制',
//         triggerLineEvent: false,
//         legendHoverLink: false,
//         emphasis: {
//           disabled: true
//         },
//         areaStyle: {
//           color: '#e9fae9'
//         },
//         symbol: 'none',
//         lineStyle: {
//           color: 'rgba(255,255,255,0)'
//         }
//       })
//   } else if (normalValue.type === '一条线') {
//     option.series.push({
//       name: '范围值',
//       data: minData,
//       type: 'line',
//       symbol: 'none',
//       legendHoverLink: false,
//       triggerLineEvent: false,
//       emphasis: {
//         disabled: true
//       },
//       lineStyle: {
//         color: '#e9fae9'
//       }
//     })
//   } else if(normalValue.type === '外部绘制') {
//     // 获取当前折线图的最大值
//     let yAxisMax = myEcharts.getModel().getComponent("yAxis",0).axis.scale._extent[1]
//     let yAxisMaxData = Array.from({length: oneData.length}, () => yAxisMax) 
//     option.series.push({ // 最大值正常绘制折线图
//       name: '范围值',
//       data: maxData,
//       type: 'line',
//       stack: '外部绘制',
//       triggerLineEvent: false,
//       legendHoverLink: false,
//       emphasis: {
//         disabled: true
//       },
//       symbol: 'none',
//       lineStyle: {
//         color: 'transparent'
//       }
//     },
//     { // y轴的最大值绘制面积图
//       name: '范围值',
//       data: yAxisMaxData,
//       type: 'line',
//       stack: '外部绘制',
//       triggerLineEvent: false,
//       legendHoverLink: false,
//       emphasis: {
//         disabled: true
//       },
//       areaStyle: {
//         color: '#e9fae9'
//       },
//       symbol: 'none',
//       lineStyle: {
//         color: 'rgba(255,255,255,0)'
//       }
//     },
//     { // 最小值正常绘制面积图
//       name: '范围值',
//       data: minData,
//       type: 'line',
//       triggerLineEvent: false,
//       legendHoverLink: false,
//       emphasis: {
//         disabled: true
//       },
//       areaStyle: {
//         color: '#e9fae9'
//       },
//       symbol: 'none',
//       lineStyle: {
//         color: 'rgba(255,255,255,0)'
//       }
//     })
//   }
//   myChart.setOption(option, true);
// }

效果:

① 内部绘制:
在这里插入图片描述

② 外部绘制:
在这里插入图片描述

③ 一条线:
在这里插入图片描述

相关文章:

Echarts面积图2.0(范围绘制)

代码&#xff1a; // 以下代码可以直接粘贴在echarts官网的示例上 // 范围值 let normalValue {type: 内部绘制,minValue: 200,maxValue: 750 } // 原本的绘图数据 let seriesData [820, 932, 901, 934, 1290, 1330, 1320] let minData Array.from({length: seriesData.len…...

flink checkpoint时exact-one模式和atleastone模式的区别

背景&#xff1a; flink在开启checkpoint的时候有两种模式可以选择&#xff0c;exact-one和atleastone模式&#xff0c;那么这两种模式有什么区别呢&#xff1f; exact-one和atleastone模式的区别 先说结论&#xff1a;exact-one可以完全做到状态的一致性&#xff0c;而atle…...

QEMU 仿真RISC-V freeRTOS 程序

1. 安裝RISC-V 仿真環境 --QEMU 安裝包下載地址: https://www.qemu.org/ 安裝命令及安裝成功效果如下所示, target-list 設定爲riscv32-softmmu, $ cat ~/project/qemu-8.0.4/install.sh sudo apt-get install libglib2.0-dev sudo apt-get install libpixman-1-dev ./co…...

用大白话来讲讲多线程的知识架构

感觉多线程的知识又多又杂&#xff0c;自从接触java&#xff0c;就在一遍一遍捋脉络和深入学习。现在将这次的学习成果展示如下。 什么是多线程&#xff1f; 操作系统运行一个程序&#xff0c;就是一个线程。同时运行多个程序&#xff0c;就是多线程。即在同一时间&#xff0…...

【uniapp】微信小程序 , 海报轮播图弹窗,点击海报保存到本地,长按海报图片分享,收藏或保存

uivew 2.0 uniapp 海报画板 DCloud 插件市场 第一步&#xff0c;下载插件并导入HbuilderX 第二步&#xff0c;文件内 引入 海报组件 <template><painter ref"haibaorefs"></painter> <template> <script>import painter from /comp…...

SpringBoot与前端交互遇到的一些问题

一、XXX.jar中没有主清单属性 场景&#xff1a; SpringBoot打的jar包在Linux运行报错 解决方案&#xff1a; 百度找了很多都是一样的答案&#xff0c;但是解决不了我的问题&#xff0c;于是我新建了一个springboot项目发现打的jar包可以在Linux上运行。检查了下只要把下面这2个…...

Maven介绍与配置+IDEA集成Maven+使用Maven命令

目录 一、Maven简介 二、配置环境变量 三、IDEA集成Maven 1.配置本地仓库地址 2.集成Maven 3. pom.xml文件介绍 四、Maven命令 jar包太多、jar包相互依赖、不方便管理、项目编译还需要jar包&#xff0c;Maven工具来帮你&#xff01; 一、Maven简介 Maven 是 Apache 软…...

毕业设计题目源码-毕业论文参考

目录 java语言ssm框架springboot框架微信小程序jspservletmysqljspservletsqlserverssh框架springmvc框架oracle无数据库 C#/asp/net语言B/S结构 浏览器模式C/S结构 窗体模式 安卓/androidapp 客户端appweb 客户端服务端 php语言php java语言 ssm框架 题目ssm828基于java的珠…...

SSH报错-Terminal shell path: C:\WINDOWS\System32\cmd.exe 此时不应有

最近接盘了实验室的工作&#xff0c;需要重新配置连接自己的VScode的SSH远程连接服务器&#xff0c;结果配置了一个下午都没搞好&#xff0c;决定记录一下&#xff0c;希望大家避免踩坑。在vscode上遇到的是这个报错&#xff1a; 错误日志 [11:40:12.097] Checking ssh with …...

Docker 轻量级可视化工具Portainer

1. 是什么 Portainer 是一款轻量级的应用&#xff0c;它提供了图形化界面&#xff0c;用于方便地管理Docker环境&#xff0c;包括单机环境和集群环境。 2. 安装 2.1 官网 https://www.protainer.io/ https://docs.portainer.io/ce-2.9/start/install/server/docker/linux 2.2 …...

站点平台技术架构

系统架构部署思维导图 平台模块分配&#xff1a; 1.账号模块 2.权限模块 3.站点模块 4.配置模块 5.系统升级 6.日志模块 一、前期工作 1.系统保持一致性方案&#xff1a; GIT版本控制&#xff1a;通过总控端向租户端发送一个更新同步请求&#xff0c;租户端收到请求后执行GI…...

一个以太坊合约的漏洞分析-重入攻击

请找出下列合约漏洞&#xff0c;并说明如何盗取ContractB 中的数字资产&#xff0c;并修复合约。中说明&#xff1a;ContractB 的contract_a接口为ContractA 地址 pragma solidity ^0.8.21; interface ContractA {function get_price() external view returns (uint256); }int…...

测试先行:探索测试驱动开发的深层价值

引言 在软件开发的世界中,如何确保代码的质量和可维护性始终是一个核心议题。测试驱动开发(TDD)为此提供了一个答案。与传统的开发方法相比,TDD鼓励开发者从用户的角度出发,先定义期望的结果,再进行实际的开发。这种方法不仅可以确保代码满足预期的需求,还可以在整个开…...

如何用Dockerfile部署LAMP架构

目录 构建LAMP镜像&#xff08;Dockerfile&#xff09; 第一步 创建工作目录 第二步 编写dockerfile文件 Dockerfile文件配置内容 第三步 编写网页执行文件 第四步 编写启动脚本 第五步 赋权并且构建镜像 第六步 检查镜像 第七步 创建容器 第八步 浏览器测试 构建LA…...

基于量子粒子群算法(QPSO)优化LSTM的风电、负荷等时间序列预测算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

SQL Server软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 SQL Server是一种关系型数据库管理系统&#xff0c;由美国微软公司开发。它被设计用于存储、管理和查询数据&#xff0c;被广泛应用于企业级应用、数据仓库和电子商务等场景。 以下是SQL Server软件的主要特点和功能&#xff1…...

基于Django的博客管理系统

1、克隆仓库https://gitee.com/lylinux/DjangoBlog.git 若失效&#xff1a;https://gitee.com/usutdzxy/DjangoBlog.git 2、环境安装 pip install -Ur requirements.txt3、修改djangoblog/setting.py 修改数据库配置&#xff0c;其他的步骤就按照官方文档。 DATABASES {def…...

windows系统依赖环境一键安装

window系统程序依赖库&#xff0c;可以联系我获取15958139685 脚本代码如下&#xff0c;写到1. bat文件中&#xff0c;双击直接运行&#xff0c;等待安装完成即可 Scku.exe -AVC.exe /SILENT /COMPONENTS"icons,ext\reg\shellhere,assoc,assoc_sh" /dir%1\VC...

centos7安装nacos

解决 Nacos 国内下载速度缓慢的问题 方案 1. 选择相应的版本源码下载 1.1 依次点击 1、2、3 选中我们的最新稳定版本 1.4.0 1.2 点击下载 ZIP、或者 clone 也行&#xff0c;这里都可以 2. 本地编译 2.1 预备环境准备 2.2 解压编译 3. 启动验证 3.1 解压 3.2 启动服务器 3…...

【python】python智能停车场数据分析(代码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…...

如何使用Redis来防止穿透、击穿和雪崩问题

推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 史上最全文档AI绘画stablediffusion资料分享 AI绘画关于SD,MJ,GPT,SDXL百科全书 「java、python面试题」…...

以getPositionList为例,查找接口函数定义及接口数据格式定义

job-app-master/pages/index/index.vue中299行 async getPositionList(type refresh, pulldown false) {this.status 请求中;if (type refresh) {this.query.page 1;} else {this.query.page;}let res await this.$apis.getPositionList(this.query);if (res) {if (type …...

一生一芯8——在github上添加ssh key

为在github上下载代码框架&#xff0c;这里在github上使用ssh key进行远程连接&#xff0c;方便代码拉取 参照博客https://blog.csdn.net/losthief/article/details/131502734 本机 系统ubuntu22.04 git 版本2.34.1 本人是第一次配置&#xff0c;没有遇到奇奇怪怪的错误&…...

2023年6月电子学会Python等级考试试卷(一级)答案解析

青少年软件编程(Python)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 可以对Python代码进行多行注释的是?( ) A. #...

ppt如何转pdf文档?用这个方法可将ppt转pdf

在现代社会中&#xff0c;PPT(幻灯片)已成为一种常见的演示工具&#xff0c;被广泛应用于学术、商务、培训等领域。然而&#xff0c;PPT文件的使用和分享存在一些问题&#xff0c;例如文件格式不兼容、内容修改易被篡改等。为了解决这些问题&#xff0c;将PPT转换为PDF格式已成…...

Hope.money:新兴DeFi项目如何重新定义稳定币生态的未来?

联储加息导致金融市场紧缩&#xff0c;Terra、3AC、FTX等知名中心化机构未能妥善应对而暴雷&#xff0c;并重创了整个加密货币市场&#xff0c;导致参与者损失惨重。这些事件揭示了中心化机构的局限&#xff0c;投资者对其资产掌控权的担忧愈发强烈。 自2018年首个DeFi协议Com…...

使用 S3 生命周期精确管理对象生命周期

在亚马逊工作这些年,我发现 S3 的生命周期配置是管理对象生命周期的重要但复杂的工具。在这篇文章中,我将利用实战经验,深入剖析生命周期,从核心概念到实际应用。 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活…...

RocketMQ零拷贝原理

1 PageCache ●由内存中的物理page组成&#xff0c;其内容对应磁盘上的block。 ●page cache的大小是动态变化的。 ●backing store&#xff1a;cache缓存的存储设备。 ●一个page通常包含多个block,而block不一定是连续的。 1.1读Cache ●当内核发起一个读请求时&#x…...

HTML <tbody> 标签

实例 带有 thead、tbody 以及 tfoot 元素的 HTML 表格: <table border="1"><thead><tr><th>Month</th><th>Savings</th></tr></thead><tfoot><tr><td>Sum</td><td>$180<…...

4.22 TCP 四次挥手,可以变成三次吗?

目录 为什么 TCP 挥手需要四次呢&#xff1f; 粗暴关闭 vs 优雅关闭 close函数 shotdown函数 什么情况会出现三次挥手&#xff1f; 什么是 TCP 延迟确认机制&#xff1f; TCP 序列号和确认号是如何变化的&#xff1f; 在一些情况下&#xff0c; TCP 四次挥手是可以变成 T…...

无锡本地网站有哪些/惠州seo外包平台

我在垂直链中有两个视图(viewA,viewB). viewA的宽高比应始终为1&#xff1a;1,而viewB的高度是动态的(可能为400dp,可能为700dp)预期成绩&#xff1a;当viewB的高度太大而无法容纳屏幕中的两个视图时,应减小viewA的宽度(保持宽高比).实际结果&#xff1a;如果viewB的高度太大,则…...

网站安全 扫描/seo技术建站

https://codeforces.ml/contest/1353/problem/D (题目链接↑&#xff09; 题解 这题主要用到优先队列&#xff0c;size&#xff08;区间长度&#xff09;大的排在前&#xff0c;size相同的left&#xff08;左端点&#xff09;小的排在前。 主要积累一下这里的语法&#xff1a; …...

做招聘网站价格/什么是百度快照

如果你平时工作比较忙碌&#xff0c;并且这种忙碌的工作会让你感觉到焦头烂额&#xff0c;那么在这种情况下&#xff0c;你就需要一些工具来辅助自己了。通常使用待办事项app是不少人的选择&#xff0c;那么作为一款好用的待办事项app&#xff0c;应该有什么功能呢&#xff1f;…...

临汾市住房城乡建设局网站/浙江网站建设营销

Docker数据管理在容器中管理数据主要有两种方式&#xff1a;数据卷(Volumes)挂载主机目录(Bind mounts)数据卷数据卷是一个可供一个或多个容器使用的特殊目录&#xff0c;它绕过UFS,可以提供很多有用的特性&#xff1a;数据卷可以在容器之间共享和重用对数据卷的修改会立马生效…...

投资集团网站建设/西安seo培训学校

最近工作中&#xff0c;接触到了Java网络编程方面的东西&#xff1a;Socket、NIO、MongoDB等&#xff0c;也看了tomcat的源码&#xff0c;也加强了线程方面的知识&#xff0c;也使用了MINA这样的框架。感觉获益良多&#xff0c;原本技术上的薄弱环节也在慢慢提高&#xff0c;很…...

南雄做网站/搜索引擎营销的四种方式

导语 事情是这样的&#xff0c;一个关注我公众号很久了的朋友&#xff0c;最近跟我说要去面试阿里P6&#xff0c;其实他的水平P7是够了的&#xff0c;他开发了6年&#xff0c;一直在学习新的技术&#xff0c;Flutter&#xff0c;NDK&#xff0c;这些都有涉及&#xff0c;年纪也…...