Echarts中的折线图,多个Y轴集中在左侧(在Vue中使用多个Y轴的折线图)

简述:在 ECharts 中,创建一个带有多个 Y 轴的折线图,并且将这些 Y 轴都集中显示在图表的左侧,可以通过合理配置 yAxisseries 的属性来实现。简单记录



一. 函数代码

drawCarNumEcs() {// 初始化echarts图表,并绑定到id为"cfog_four"的DOM元素上var myChart = this.$echarts.init(document.getElementById("cfog_four"));// 定义颜色数组,用于设置图表中不同数据系列的颜色const colors = ["#e1c951", "#44cbb1", "#307ee2"];// 定义图表的配置选项var option = {// 设置图表的整体颜色方案color: colors,// 设置图表的标题,包含多个标题对象title: [{// text: "车辆存量数",             // 主标题文本(当前被注释掉)padding: [15, 0, 0, 40],          // 标题内边距:[上, 右, 下, 左]left: "left",                     // 标题水平对齐方式:靠左对齐itemGap: 20,                      // 主副标题之间的间距textStyle: {// 主标题文本样式color: "white",                 // 文字颜色:白色fontStyle: "normal",            // 字体风格:正常fontWeight: "bold",             // 字体粗细:粗体fontFamily: "宋体",             // 字体系列:宋体fontSize: 18,                   // 字体大小:18像素},},{// text: "辆",                     // 副标题文本(当前被注释掉)padding: [40, 0, 0, 90],           // 副标题内边距left: "left",                      // 副标题水平对齐方式:靠左对齐itemGap: 20,                       // 主副标题之间的间距textStyle: {// 副标题文本样式color: "silver",                 // 文字颜色:银色fontStyle: "normal",             // 字体风格:正常fontWeight: "bold",              // 字体粗细:粗体fontFamily: "宋体",              // 字体系列:宋体fontSize: 12,                    // 字体大小:12像素},},{// text: "4小时预测",              // 第二个标题文本(当前被注释掉)padding: [50, 60, 0, 0],          // 第二个标题内边距right: "right",                   // 第二个标题水平对齐方式:靠右对齐textStyle: {// 第二个标题文本样式color: "silver",                // 文字颜色:银色fontStyle: "normal",            // 字体风格:正常fontWeight: "normal",           // 字体粗细:正常fontFamily: "宋体",             // 字体系列:宋体fontSize: 14,                   // 字体大小:14像素},},],// 设置图表的网格布局grid: {//表示acharts填充占比left: "20%",             // 网格左边缘距离容器左边缘的距离:20%// right: "3%",          // 网格右边缘距离容器右边缘的距离(当前被注释掉)// bottom: "3%",         // 网格下边缘距离容器下边缘的距离(当前被注释掉)top: "35%",              // 网格上边缘距离容器上边缘的距离:35%// containLabel: true,   // 防止标签溢出容器(当前被注释掉)},// 设置提示框配置tooltip: {trigger: "axis",            // 触发类型:坐标轴触发},// 设置图例legend: {right: "10%",                       // 图例右对齐,距离右边缘10%top: "10%",                         // 图例顶部对齐,距离顶部10%data: ["湿度", "气压", "风力"],      // 图例项textStyle: {color: "white",                   // 图例文字颜色:白色},},// 设置X轴xAxis: {type: "category",                    // 坐标轴类型:类目轴// 原始数据(当前被注释)// data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"], data:this.hyData1.length > 1? this.hyData1: ["08:00", "10:00", "12:00", "14:00", "16:00", "18:00", "20:00","22:00", "00:00", "02:00", "04:00", "06:00", "08:00",],// 如果this.hyData1长度大于1,则使用this.hyData1作为数据,否则使用默认时间数据},// 设置Y轴(有三个Y轴)yAxis: [{type: "value",          // 坐标轴类型:数值轴name: "湿度",           // 坐标轴名称position: "left",       // 坐标轴位置:左侧// max: 1000,           // 坐标轴最大值(当前被注释掉)// min: 59,             // 坐标轴最小值(当前被注释掉)// interval: 8.2,      // 坐标轴刻度间隔(当前被注释掉)offset: 0,             // 坐标轴相对于默认位置的偏移:无偏移axisLine: {show: true,          // 是否显示坐标轴线lineStyle: {color: colors[0],  // 坐标轴线颜色:使用颜色数组的第一个颜色},},splitLine: {show: true,             // 是否显示分隔线lineStyle: {// color: "red",      // 分隔线颜色(当前被注释掉)// width: 4,          // 分隔线宽度(当前被注释掉)type: "dotted",       // 分隔线类型:点线},},},{type: "value",            // 坐标轴类型:数值轴name: "气压",             // 坐标轴名称// max: 1000,             // 坐标轴最大值(当前被注释掉)// min: 59,               // 坐标轴最小值(当前被注释掉)// interval: 8.2,         // 坐标轴刻度间隔(当前被注释掉)position: "left",         // 坐标轴位置:左侧offset: 60,               // 坐标轴相对于默认位置的偏移:60像素axisLine: {show: true,             // 是否显示坐标轴线lineStyle: {color: colors[1],     // 坐标轴线颜色:使用颜色数组的第二个颜色},},splitLine: {show: false,           // 是否显示分隔线:不显示lineStyle: {// color: "red",     // 分隔线颜色(当前被注释掉)// width: 4,         // 分隔线宽度(当前被注释掉)type: "dotted",      // 分隔线类型:点线},},},{type: "value",          // 坐标轴类型:数值轴name: "风力",           // 坐标轴名称// max: 1000,           // 坐标轴最大值(当前被注释掉)// min: 59,             // 坐标轴最小值(当前被注释掉)// interval: 8.2,       // 坐标轴刻度间隔(当前被注释掉)position: "left",       // 坐标轴位置:左侧offset: 120,            // 坐标轴相对于默认位置的偏移:120像素axisLine: {show: true,           // 是否显示坐标轴线lineStyle: {color: colors[2],   // 坐标轴线颜色:使用颜色数组的第三个颜色},},splitLine: {show: true,         // 是否显示网格线:不显示lineStyle: {// color: "red",   // 分隔线颜色(当前被注释掉)// width: 4,       // 分隔线宽度(当前被注释掉)type: "dotted",    // 分隔线类型:点线},},},],// 设置数据系列series: [{name: "湿度",         // 系列名称type: "line",         // 图表类型:折线图data:this.hyData2.length > 1? this.hyData2: [18, 18, 24, 28, 25, 19, 16, 28, 22, 17, 27, 17, 28, 14, 18,25, 19, 16, 26, 23, 27, 27,],// 如果this.hyData2长度大于1,则使用this.hyData2作为数据,否则使用默认数据yAxisIndex: 0,         // 使用的Y轴索引:第一个Y轴},    {name: "气压",         // 系列名称type: "line",         // 图表类型:折线图data:this.peData2.length > 1? this.peData2: [18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,18, 18, 18, 18, 18, 18,],// 如果this.peData2长度大于1,则使用this.peData2作为数据,否则使用默认数据yAxisIndex: 1,         // 使用的Y轴索引:第二个Y轴},{name: "风力",         // 系列名称type: "line",         // 图表类型:折线图data:this.wdData2.length > 1? this.wdData2: [18, 25, 19, 16, 26, 23, 27, 27, 18, 28, 22, 17, 27, 17, 28,14, 8, 24, 28, 25, 19, 16,],// 如果this.wdData2长度大于1,则使用this.wdData2作为数据,否则使用默认数据yAxisIndex: 2,        // 使用的Y轴索引:第三个Y轴},],};// 使用配置项设置图表option && myChart.setOption(option);// 添加窗口大小改变事件监听器,在窗口大小变化时调整图表大小window.addEventListener("resize", () => {myChart.resize();});},},

二. 初始化渲染Echarts

// 组件挂载之后,才可以获取到元素
mounted() {// 在组件挂载后调用绘制函数this.drawCarNumEcs()();// 这里再添加窗口大小改变时的重绘监听器,防止报错window.addEventListener("resize", () => {if (document.querySelector(".acdt_Ecs")) {this.drawCarNumEcs()();}});},},

三. 同样,使用的是全局注册,注意甄别

四. Echarts,更多操作

Echarts官网icon-default.png?t=N7T8https://echarts.apache.org/examples/zh/index.html#chart-type-line

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络安全设备——探针

网络安全设备探针是一种专门用于网络安全领域的工具,它通过对网络流量进行监控和分析,帮助发现和防止网络攻击。以下是对网络安全设备探针的详细解释: 定义与功能 定义:网络安全设备探针是一种设备或软件,它通过捕获…

【docker】运行阶段遇到的问题

目录 1、查询docker 下挂载了哪些工具 2、docker中的简单命令 3、实际场景应用(redis) 目前工作中仅用到了redis,所以没有太多经验可以交流,暂时仅将我目前遇到的进行发布。还请见谅。 1、查询docker 下挂载了哪些工具 docker ps -a 或者…

Vue组件如何“传话”?这里有个小秘诀!

​🌈个人主页:前端青山 🔥系列专栏:vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue-组件通信 目录 Vue组件通信 (1) props / $emit 1. 父组件向子组件传…

适合职场小白的待办事项管理方法和工具

刚入职场那会儿,我每天都像只无头苍蝇,忙得团团转却效率低下。待办事项像潮水般涌来,会议、报告、客户跟进……每一项都像是悬在头顶的利剑,让我焦虑不堪。我深知,管理好待办事项是职场生存的必修课,但该如…

内衣洗衣机哪个牌子好用?倾力推荐四大热门产品,质量放心

在当今社会,内衣洗衣机已经成为每个家庭必不可少的家电之一。但由于市场上的内衣洗衣机品牌和型号繁多,对于消费者来说,选择一款实用、性价比高的内衣洗衣机是非常重要的。那么,内衣裤洗衣机哪个品牌最好?接下来我将会…

框架为我们做了什么?

1. SpringBoot 1.1 web服务器 Spring Boot 的 web 服务器原理主要基于其嵌入式服务器的概念,这意味着它内嵌了一个 web 服务器,无需部署到外部服务器上。Spring Boot 内嵌了如 Tomcat、Jetty 或 Undertow 等 servlet 容器。 1.2 servlet Servlet&…

【鸿蒙学习笔记】创建自定义组件

官方文档:创建自定义组件 目录标题 自定义组件的基本结构1・struct 自定义组件名 {...}@ComponentEntry 1・ 2・ 3・ 4・ 5・ 6・ 7・ 8・ &…

Python | Leetcode Python题解之第206题反转链表

题目: 题解: # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def reverseList(self, head: Optional[ListNode]) -> Optio…

VulnHub靶场之DarkHole_1

1 信息收集 1.1 主机发现 arp-scan -l 主机IP地址为:192.168.1.17 1.2 端口和服务扫描 nmap -sS -sV -A -T5 -p- 192.168.1.17 开放22,80端口 1.3 目录扫描 dirsearch -u 192.168.1.17 2 渗透 2.1 访问端口 2.2 注册账号 暴力破解不现实&#…

Python爬取国家医保平台公开数据

国家医保服务平台数据爬取python爬虫数据爬取医疗公开数据 定点医疗机构查询定点零售药店查询医保机构查询药品分类与代码查询 等等,数据都能爬 接口地址:/ebus/fuwu/api/nthl/api/CommQuery/queryFixedHospital 签名参数:signData {dat…

【AI原理解析】-目标检测概述

目录 一、目标检测算法的分类 1. 基于传统方法的目标检测算法 2. 基于深度学习的目标检测算法 二、主要目标检测算法 1. R-CNN系列 2. YOLO系列 3. SSD 4. RetinaNet 三、目标检测算法的特点 四、评估指标 五、应用领域 一、目标检测算法的分类 目标检测算法主要分…

java版本ERP管理系统源码 Spring Cloud ERP_ERP系统_erp软件_ERP管理系统

在当今数字化时代,企业对高效、稳定且易于扩展的管理系统的需求日益增长。为了满足这一需求,我们精心打造了一款基于Java技术的ERP(Enterprise Resource Planning)管理系统。该系统充分利用了Spring Cloud Alibaba、Spring Boot、…

python-计算矩阵边缘元素之和(赛氪OJ)

[题目描述] 输入一个整数矩阵&#xff0c;计算位于矩阵边缘的元素之和。 所谓矩阵边缘的元素&#xff0c;就是第一行和最后一行的元素以及第一列和最后一列的元素。输入&#xff1a; 输入共 m 1 行。 第一行包含两个整数 m, n (1 < m,n < 100) &#xff0c;分别为矩阵的…

VDS虚拟导播切换台软件

VDS 导播软件是一款功能强大的虚拟导播系统软件&#xff0c;具有全媒体接入、播出内容丰富、调音台、快捷切播与导播键盘、云台控制等特点&#xff0c;同时支持向多个平台直播推流。以下是一些常见的 VDS 导播软件特点&#xff1a; 1. 全媒体接入&#xff1a;支持多种设备和网…

Ubuntu和Windows系统之Mamba_ssm安装

Mamba的论文&#xff1a;https://arxiv.org/abs/2312.00752 Mamba的github&#xff1a;https://github.com/state-spaces/mamba 一、Ubuntu安装 直接新建一个环境是最好的&#xff0c;不然很容易产生各种冲突 # 创建环境和相关包 conda create -n mamba python3.10.13 cond…

设计模式——程序员的武功招式

设计模式就是套路&#xff0c;就是武功招式。 碰到什么问题出什么招。 设计模式是软件行业几十年的应对问题的经验总结——武功招式总结。 大成境界是无招胜有招。 但是问题是无限的&#xff0c;对应的招式&#xff0c;你也可以创建&#xff0c;所以现在设计模式还在不断的诞生…

嵌入式Framebuffer面试题精要及参考答案

什么是Framebuffer?简述其在Linux系统中的作用。 Framebuffer,中文译作帧缓冲,是Linux内核提供的一种抽象设备接口,用于允许用户态的应用程序直接访问和操作显示设备的显存,从而实现图形的直接输出。在Linux系统中,Framebuffer扮演着连接硬件显卡和软件应用的关键角色。…

Linux 文件系统检查与修复:使用fsck、e2fsck等命令

Linux文件系统检查与修复&#xff1a;使用fsck、e2fsck等命令 引言 文件系统是操作系统中用于管理和存储文件的关键组件。然而&#xff0c;文件系统在使用过程中可能会出现各种问题&#xff0c;如数据损坏、文件丢失等。为了确保文件系统的完整性和稳定性&#xff0c;我们需要…

java-arraylist 源码分析 1

## 深入分析 Java 中的 ArrayList 源码 ArrayList 是 Java 集合框架中的一个重要类&#xff0c;它基于数组实现&#xff0c;提供了动态数组的功能。ArrayList 是一个非常常用的集合类&#xff0c;因为它在随机访问和遍历方面性能优越。本文将详细分析 ArrayList 的源码&#x…

spring cloud gateway客户端websocket断开连接,服务侧连接没有关闭的问题处理

之前在单体架构项目中使用了websocket主动推送消息的功能&#xff0c;后来改成了微服务架构&#xff0c;结果发现部分消息丢失&#xff0c;没能推送给客户端&#xff1b;深入排查发现服务端无法感知websocket连接状态&#xff0c;但是在单体架构里面是没这个问题的&#xff0c;…