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. 父组件向子组件传…

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

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

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

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

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…

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;支持多种设备和网…

【APK】SDKManager运行后闪退

本地JDK已安装&#xff0c;且配置了环境变量&#xff0c;未安装 android studiio 问题描述&#xff1a;右键以管理员身份运行 SDKManager&#xff0c;终端窗口闪退 问题原因&#xff1a;未找到正确的Java路径 解决办法&#xff1a; 1.修改tools目录下的 android.bat 文件&am…

langchain 入门中篇:数据封装,Memory 封装

数据的处理流程可以看一张图来帮助理解 数据来源可以是网络&#xff0c;可以是邮件&#xff0c;可以是本地文件 经过 Document Loaders 加载&#xff0c;再在 Transform 阶段对文档进行 split, filter, translate, extract metadata 等操作&#xff0c;之后在 Embed 阶段进行向…

Keil用ST-LINK下载STM32程序后不自动运行

之后程序可以运行了&#xff0c;但是串口还没有输出&#xff0c;在debug模式下都是ok的。

加权 KNN 算法的原理与详解

加权kNN&#xff0c;k近邻算法的增强改进版本。 加权KNN算法 近邻算法&#xff08;k-Nearest Neighbors, kNN&#xff09;是一种用于分类和回归的非参数方法。它的基本思想是“看邻居”&#xff0c;即通过查找离目标点最近的 K 个数据点&#xff0c;来判断目标点的类别或数值。…

学习aurora64/66b.20240703

简介 The AMD LogiCORE™IP Aurora 64B/66B core是一种可扩展的轻量级高数据速率链路层协议&#xff0c;用于高速串行通信。该协议是开放的&#xff0c;可以使用AMD设备技术实现。 Aurora 64B/66B是一种轻量级的串行通信协议&#xff0c;适用于多千兆位链路 (如下图所示)。它…

【MATLAB源码-第139期】基于matlab的OFDM信号识别与相关参数的估计,高阶累量/小波算法调制识别,循环谱估计,带宽估计,载波数目估计等等。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 在现代无线通信系统中&#xff0c;正交频分复用&#xff08;OFDM&#xff09;因其高效的频谱利用率、强大的抗多径衰落能力以及灵活的带宽分配等优势&#xff0c;成为了一种非常重要的调制技术。然而&#xff0c;随着无线通信…

采沙船智能监测识别摄像机

对于现代河流管理来说&#xff0c;采沙船智能监测识别摄像机正逐渐成为解决非法采砂和保护河流生态环境的重要工具。这类摄像机通过先进的视觉识别和数据分析技术&#xff0c;有效监控和管理河道上的采沙行为&#xff0c;对保护水域资源和改善生态环境具有显著的意义。 采沙船智…

Linux容器篇-使用kubeadm搭建一个kubernetes集群

kubernetes集群架构和组件 master节点组件 kube-apiserver&#xff1a;Kubernetes API&#xff0c;集群的统一入口&#xff0c;各组件的协调者&#xff0c;以RESTful API提供接口服务&#xff0c;所有对象资源的增删改查和监听操作都交给APIserver处理后再交给Etcd存储。 kube…

学习springAOP

第三章 Spring AOP 第一节 AOP 简介 1. 概念 AOP全称为Aspect Oriented Programming&#xff0c;表示面向切面编程。何为切面呢&#xff1f; 由此可以得出&#xff0c;切面是一种将那些与业务无关&#xff0c;但业务模块都需要使用的功能封装起来的技术。这样便于减少系统的…