echarts 柱形图重叠柱形图legend,双y轴

news2025/1/4 18:21:35

echarts 图表组件:

<template>
    <div :style="{ height: '100%' }">
        <div class="foldLine" ref="foldLine" :style="{ width: widths, height: heights }"></div>
    </div>
</template>
<script>
import * as echarts from 'echarts';
export default {
    props: {
        id: {
            type: String,
            default: 'lineEchartNew'
        },
        heights: {
            type: String,
            default: '100%'
        },
        widths: {
            type: String,
            default: '100%'
        },
        tagName: {
            type: String,
            default: '排名'
        },
        indexName: {
            type: String,
            default: ''
        },
        unit: {
            type: String,
            default: ''
        },
        chartObj: {
            type: Array,
            default: () => {
                return [];
            }
        },
        objs: {
            type: Object,
            default: () => {
                return {
                    height: '100%'
                };
            }
        }
    },
    data() {
        return {
            chart: null
        };
    },
    watch: {
        chartObj: {
            handler() {
                this.initEchats();
            },
            deep: true
        }
    },
    mounted() {
        this.$nextTick(() => {
            this.init();
        });
    },
    beforeDestroy() {
        this.chart && this.chart.dispose();
        this.chart = null;
    },
    methods: {
        init() {
            this.chart = echarts.init(this.$refs.foldLine);
            this.initEchats();
        },
        // 整体折线图显示不通颜色
        getLineColor(healthListScore) {
            let arr = [];
            healthListScore.forEach((v, i) => {
                let obj = {
                    gt: i - 1,
                    lt: i,
                    // color: healthListScore[i] < 90 ? 'rgba(229,27,88,0.68)' : '#D0FB7C'
                    color: '#D0FB7C'
                };
                arr.push(obj);
            });
            return arr;
        },
        initEchats() {
            let option = {
                tooltip: {
                    trigger: 'axis'
                    // formatter: '{a1}<br/>{b1}:{c1}%'
                },
                grid: {
                    top: '25%',
                    left: '3%',
                    right: '8%',
                    bottom: '15%',
                    containLabel: true
                },
                legend: {
                    top: '0',
                    x: 'center',
                    textStyle: {
                        fontSize: 12,
                        color: 'rgba(101, 213, 255, 1)'
                    },
                    itemWidth: 10, // 设置宽度
                    itemHeight: 10, // 设置高度、
                    itemGap: 12, // 设置间距
                    data: ['资源容量', '实际使用量', '资源使用率']
                },
                xAxis: {
                    axisLine: {
                        lineStyle: {
                            color: '#D0DEEE' // 设置 x 轴颜色
                        }
                    },
                    data: ['2024/09', '2024/10', '2024/11', '2024/12', '2025/01', '2025/02']
                },
                color: ['#4489F0', '#0BF0FF', '#FB944F'],
                yAxis: [
                    {
                        type: 'value',
                        name: '单位',
                        //坐标轴最大值、最小值、强制设置数据的步长间隔
                        // max: 33,
                        // min: 15,
                        // 刻度线的间距
                        // interval: 3.6,
                        axisLabel: {
                            textStyle: {
                                color: '#a8aab0',
                                fontStyle: 'normal',
                                fontFamily: '微软雅黑',
                                fontSize: 12
                            }
                            //y轴上带的单位
                            // formatter: '{value} ℃'
                        },
                        axisLine: {
                            lineStyle: {
                                type: 'dashed' // 设置虚线类型
                            }
                        },
                        //坐标轴刻度相关设置。
                        axisTick: {
                            show: false
                        },
                        //分割线
                        splitLine: {
                            show: true,
                            lineStyle: {
                                color: '#a8aab0',
                                type: 'dashed',
                                //透明度
                                opacity: 0.3,
                                width: 1
                            }
                        }
                    },
                    {
                        type: 'value',
                        name: '使用率(%)',
                        max: 100,
                        min: 0,
                        interval: 16.4,
                        // axisLabel: {
                        //     textStyle: {
                        //         color: '#a8aab0',
                        //         fontStyle: 'normal',
                        //         fontFamily: '微软雅黑',
                        //         fontSize: 12
                        //     },
                        //     // formatter: '{value} %'
                        //     formatter: '{value} %'
                        // },
                        //轴线
                        axisLine: {
                            lineStyle: {
                                type: 'dashed' // 设置虚线类型
                            }
                        },
                        //坐标轴刻度相关设置。
                        axisTick: {
                            show: false
                        },
                        //分割线
                        splitLine: {
                            show: false,
                            lineStyle: {
                                color: '#a8aab0',
                                type: 'dashed',
                                //透明度
                                opacity: 0.3,
                                width: 1
                            }
                        }
                    }
                ],
                series: [
                    {
                        name: '资源容量',
                        type: 'bar',
                        barWidth: 12,
                        z: '-1',
                        barGap: '-100%',
                        itemStyle: {
                            borderRadius: [10, 10, 0, 0] // 这里设置圆角的大小,数组的前两个值设置上左的圆角,后两个值设置下右的圆角
                        },
                        data: [1000, 800, 700, 1000, 600, 1000]
                    },
                    {
                        name: '实际使用量',
                        type: 'bar',
                        barWidth: 12,
                        data: [555, 750, 656, 850, 540, 750]
                    },
                    {
                        name: '资源使用率',
                        type: 'line',
                        // barWidth: 24,
                        barGap: '1%',
                        symbol: 'circle',
                        symbolSize: 5,
                        yAxisIndex: 1, //指定需要使用的Y轴
                        data: [100, 70, 50, 90, 100, 80, 90],
                        itemStyle: {
                            color: '#FB944F',
                            borderColor: '#D0FB7C',
                            borderWidth: 1,
                            borderType: 'solid'
                        }
                    }
                ]
            };

            if (option && typeof option === 'object') {
                this.chart.clear(); //画布清空
                this.chart.resize(); //自适应div的大小
                this.chart.setOption(option, true);
                // this.chart.setOption(
                //     {
                //         series: seriesArr
                //     },
                //     { notMerge: false, lazyUpdate: false, silent: false }
                // );
            }
        }
    }
};
</script>
<style lang="scss" scoped></style>

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

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

相关文章

MySQL5.7主从同步配置

环境&#xff1a; 使用2台虚拟机&#xff0c;如图-1所示。其中192.168.4.51是主服务器,另一台192.168.4.52作为从服务器&#xff0c;通过调取主服务器上的binlog日志&#xff0c;在本地重做对应的库、表&#xff0c;实现与主服务器的数据同步。 主服务器、从服务器都已安装好m…

方正畅享全媒体新闻采编系统 imageProxy.do 任意文件读取漏洞复现

0x01 产品简介 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台,融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成,贯穿新闻生产策、采、编、发…

Ubuntu安装Apache Airflow详细指南

本文我们介绍如何在Ubuntu上安装Apache Airflow。Apache Airflow旨在通过编程方式编写、调度和监控工作流。随着数据编排在现代数据工程中变得越来越重要&#xff0c;掌握Apache Airflow等工具可以显著提高您的生产力和效率。 学习Apache Airflow的首要任务是安装单机版本进行测…

生物信息学软件开发综述学习

目录 ①编程语言和开源工具和库 ②轻量级 R 包开发 ③大规模组学软件开发 ④示例 1.轻量级 R 包开发示例及数据 2.大规模组学软件开发 文献&#xff1a;Bioinformatics software development: Principles and future directions ①编程语言和开源工具和库 在生物信息学…

哈夫曼编码(Huffman Coding)与哈夫曼树(Huffman Tree)

已知字符集{a,b,c,d,e,f}&#xff0c;若各字符出现的次数分别为6&#xff0c;3&#xff0c;8&#xff0c;2&#xff0c;10&#xff0c;4&#xff0c;则对应字符集中各字符的哈夫曼编码可能是&#xff08; &#xff09;。 A.00&#xff0c;1011&#xff0c;01&#xff0…

Eureka 介绍与原理详解

在微服务架构中&#xff0c;服务发现&#xff08;Service Discovery&#xff09;是一个至关重要的组件。随着服务数量的增加&#xff0c;手动管理服务的地址和端口变得不切实际。Eureka 是 Netflix 开源的一款服务发现工具&#xff0c;旨在解决微服务架构中的服务注册与发现问题…

C++和OpenGL实现3D游戏编程【连载19】——着色器光照初步(平行光和光照贴图)(附源码)

1、本节要实现的内容 我们在前期的教程中,讨论了在即时渲染模式下的光照内容。但在我们后期使用着色器的核心模式下,会经常在着色器中使光照,我们这里就讨论一下着色器光照效果,以及光照贴图效果,同时这里知识会为后期的更多光照效果做一些铺垫。本节我们首先讨论冯氏光照…

RedisDesktopManager新版本不再支持SSH连接远程redis后

背景 RedisDesktopManager(又名RDM)是一个用于Windows、Linux和MacOS的快速开源Redis数据库管理应用程序。这几天从新下载RedisDesktopManager最新版本&#xff0c;结果发现新版本开始不支持SSH连接远程redis了。 解决方案 第一种 根据网上有效的信息&#xff0c;可以回退版…

【图像处理lec10】图像压缩

目录 一、图像压缩基础 1、图像压缩的基本概念 2、数据冗余与压缩比 3、三种主要的数据冗余类型 4、保真度评估标准&#xff08;Fidelity Criteria&#xff09; 5、应用与实践 二、图像压缩模型 1、图像压缩模型概述 &#xff08;1&#xff09;压缩系统的结构 &#…

Python-网络爬虫

随着网络的迅速发展&#xff0c;如何有效地提取并利用信息已经成为一个巨大的挑战。为了更高效地获取指定信息&#xff0c;需定向抓取并分析网页资源&#xff0c;从而促进了网络爬虫的发展。本章将介绍使用Python编写网络爬虫的方法。 学习目标&#xff1a; 理解网络爬虫的基本…

curl+openssl 踩坑笔记

curl编译&#xff1a;点击跳转 踩坑一 * SSL certificate problem: unable to get local issuer certificate * closing connection #0 curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.se/docs/sslcerts.html …

mysql-二进制安装方式

目录 1. 安装组件即依赖包 2. 创建用户 3. 关闭防火墙 4. 解压mysql二进制源码包 5. 创建文件夹并赋予权限 6. 编译安装mysql&#xff0c;安装完成最后面&#xff0c;会有一串英文&#xff0c;那是登录数据库的密码 7. 设置配置文件 8. 将mysql添加进环境变量 9. 复制…

【MySQL】深度学习数据库开发技术:使用CC++语言访问数据库

**前言&#xff1a;**本节内容介绍使用C/C访问数据库&#xff0c; 包括对数据库的增删查改操作。 主要是学习一些接口的调用&#xff0c; 废话不多说&#xff0c; 开始我们的学习吧&#xff01; ps:本节内容比较容易&#xff0c; 友友们放心观看哦&#xff01; 目录 准备mysql…

Vscode左大括号不另起一行、注释自动换行

参考大佬的博客VSCode 格式化 cpp 文件时配置左大括号不换行_vscode大括号不换行-CSDN博客 Clang_format_style {BasedOnStyle: Chromium, IndentWidth: 4}

1、Jmeter、jdk下载与安装

1、访问官网&#xff0c;点击下载Jmeter http://jmeter.apache.org/ 2、在等待期间&#xff0c;下载对应的Java https://www.oracle.com/cn/java/technologies/downloads/#jdk23-windows 3、全部下载好&#xff0c;先安装JDK ![在这里插入图片描述](https://i-blog.csdnimg…

【Vim Masterclass 笔记02】第3章:Vim 核心知识 + L08:Vim 核心浏览命令 + L09:Vim 核心浏览命令同步练习

文章目录 Section 3&#xff1a;Vim Essentials&#xff08;Vim 核心知识&#xff09;S03L08 Essential Navigation Commands1 光标的上下左右移动2 上 / 下翻页3 基于单词前移4 基于单词后移5 重新定位视图中的文本&#xff08;页面重绘&#xff09;6 定位到所在行的行首7 光标…

docker学习记录-部署若依springcloud项目

使用docker compse部署RuoYi v3.6.4 一、打包代码 Java代码 打包前需要将127.0.0.1改成宿主机ip&#xff0c; 使用docker部署的nacos&#xff0c;应该是要改成ruoyi-nacos&#xff08;docker中的服务容器名&#xff09;。 使用idea window系统可能没有sh命令&#xff0c;不能…

Unity 实现Canvas显示3D物体

新建一个UI相机&#xff0c;选择渲染层为UI 将主相机的渲染层去掉UI层 、 将Canvas的RenderMode设置为Screen Space - Camera,将RenderCamera设置为UI相机 新建3D物体的UI父物体&#xff0c;并将3D物体的层级设置为UI层 适当的放缩3DObjParent&#xff0c;让3D物体能显示出来…

【spring】参数校验Validation

前言 在实际开发中&#xff0c;我们无法保证客户端传来的请求都是合法的。比如一些要求必传的参数没有传递&#xff0c;传来的参数长度不符合要求等&#xff0c;这种时候如果放任不管&#xff0c;继续执行后续业务逻辑&#xff0c;很有可能就会出现意想不到的bug。 有人可能会…

STM32 SPI读取SD卡

七个响应类型&#xff1a; R1 Response (Normal Response): R1响应是最基本的响应&#xff0c;包含一个字节的状态位&#xff0c;用于指示命令是否成功执行。常用。最高位为0。最低位为1表示是空闲状态。其他位是各种错误提示。 R1b Response (Normal with Busy): 类似于R1&a…