echart折线图背景颜色自定义,实心圆点,虚线网格等功能

news2024/11/20 9:46:28

需求:根据传入的值对背景进行分层颜色展示,比如y轴20-40区间颜色为蓝色,40-50为红色这种,折线图的小圆点设置为实现,实现缩放功能

1.效果如下

 2.代码讲解如下

首先下载echarts

npm install echarts@4.9.0 -S

我这边吓得是4.9版本,高版本会出现一个问题,那就是如果写了背景的话,y轴线的刻度会显示不出来,只有线没有刻度了,所以我这边用的还是以前的版本。

其中onZero:X 轴或者 Y 轴的轴线是否在另一个轴的 0 刻度上,只有在另一个轴为数值轴且包含 0 刻度时有效,如果你的值中有负数,直接把这个关了,不然效果如下,刻度线跑0度上面去了 

axisLine: {
                        show: true, //是否显示轴线
                        onZero: false, 
                        lineStyle: {
                            color: '#333'
                        }
                    }

 legend:就是最上面可以点的部分,这个data的值要和series的name值一致,不然写了不显示

  legend: {
                    data: ['红色', '蓝色', '绿色']
                },

 

 tooltip:做了个防止抖动,transitionDuration最好都加上这个,如果图例翻转的话不加一直就会一直抖动,效果也不好

 tooltip: {
                    trigger: 'axis',
                    transitionDuration: 0 // 让toolltip紧跟鼠标,防止抖动
                },

 

 背景区间色:markArea中yAxis是纵轴的范围,这边是0-200设置是蓝色

   markArea: {
                            data: [
                                [
                                    {
                                        yAxis: '0', //开始
                                        itemStyle: {
                                            //  看这里,加了这个属性
                                            color: '#87c6fe',
                                            //   borderWidth: 1,
                                            //   borderType: "dashed",
                                            opacity: 0.8
                                        }
                                    },
                                    {
                                        yAxis: '200',//结束
                                    }
                                ],
         
                                //  如果有多种颜色,就继续在这里写区间数组,复制上面的下来改颜色
                            ]
                        }

 3.完整代码如下

<template>
    <div class="content-box">
        <div class="container">
            <div id="echartsData"></div>
        </div>
    </div>
</template>

<script>
import * as echarts from 'echarts';
export default {
    data() {
        return {};
    },
    mounted() {
        this.lineEcharts();
    },
    methods: {
        lineEcharts() {
            const option = {
                xAxis: {
                    name: '',
                    // type: "",
                    position: 'bottom',
                    offset: 0,
                    axisLabel: {
                        color: '#0000000',
                        fontSize: 10
                    },
                    data: ['5-20', '5-21', '5-22', '5-23', '5-24', '5-25', '5-26', '5-27'],
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: '#59924d',
                            type: 'solid',
                            width: 0.8
                        }
                    },
                    zlevel: 9,
                    axisTick: {
                        show: true,
                        inside: false
                    },
                    axisLine: {
                        show: true,
                        onZero: false,
                        lineStyle: {
                            color: '#333'
                        }
                    }
                },
                // 内置区域缩放
                dataZoom: [
                    {
                        xAxisIndex: [0],
                        type: 'inside',
                        filterMode: 'none'
                    },
                    {
                        yAxisIndex: [0],
                        type: 'inside',
                        filterMode: 'none'
                    }
                ],
                tooltip: {
                    trigger: 'axis',
                    transitionDuration: 0 // 让toolltip紧跟鼠标,防止抖动
                },
                legend: {
                    data: ['红色','蓝色','绿色']
                },
                yAxis: [
                    {
                        name: '',
                        type: 'value',
                        show: true,
                        axisLabel: {
                            boundaryGap: false,
                            color: '#000000',
                            fontSize: 10,
                            interval: 0
                        },
                        splitLine: {
                            show: true,
                            lineStyle: {
                                color: '#59924d',
                                type: 'dashed',
                                width: 0.8
                            }
                        },
                        zlevel: 9,
                        axisTick: {
                            show: true
                        },
                        axisLine: {
                            show: true,
                            onZero: false,
                            lineStyle: {
                                color: '#333'
                            }
                        }
                    }
                ],
                grid: {
                    top: '10%',
                    left: '10%',
                    right: '5%',
                    bottom: '15%'
                },
                series: [
                    {
                        name: '红色',
                        data: [150, 230, 224, 218, 135, 147, 260],
                        type: 'line',
                        symbol: 'circle', //将小圆点改成实心 不写symbol默认空心
                        symbolSize: 5, //小圆点的大小
                        markArea: {
                            data: [
                                [
                                    {
                                        yAxis: '0', //开始
                                        itemStyle: {
                                            //  看这里,加了这个属性
                                            color: '#87c6fe',
                                            //   borderWidth: 1,
                                            //   borderType: "dashed",
                                            opacity: 0.8
                                        }
                                    },
                                    {
                                        yAxis: '200'
                                    }
                                ],
                                [
                                    {
                                        yAxis: '200', //结束
                                        itemStyle: {
                                            //  看这里,加了这个属性
                                            color: '#ece6b2',
                                            //   borderWidth: 1,
                                            //   borderType: "solid",
                                            opacity: 0.5
                                        }
                                    },
                                    {
                                        yAxis: '250'
                                    }
                                ],
                                [
                                    {
                                        yAxis: '250',
                                        itemStyle: {
                                            //  看这里,加了这个属性
                                            color: '#ffbf9c',
                                            opacity: 0.6
                                        }
                                    },
                                    {
                                        yAxis: '300'
                                    }
                                ]
                                //  如果有多种颜色,就继续在这里写区间数组,复制上面的下来改颜色
                            ]
                        }
                    },
                    {
                        name: '蓝色',
                        data: [58, 42, 152, 110, 135, 120, 280],
                        type: 'line',
                        symbol: 'circle', //将小圆点改成实心 不写symbol默认空心
                        symbolSize: 5 //小圆点的大小
                    },
                    {
                        name: '绿色',
                        data: [48, 75, 52, 240, 11, 70, 33],
                        type: 'line',
                        symbol: 'circle', //将小圆点改成实心 不写symbol默认空心
                        symbolSize: 5 //小圆点的大小
                    }
                ]
            };
            const myChart = echarts.init(document.getElementById('echartsData'));
            myChart.setOption(option);
            //随着屏幕大小调节图表
            window.addEventListener('resize', () => {
                myChart.resize();
            });
        }
    }
};
</script>

<style lang="scss" scoped>
#echartsData {
    height: 500px;
    width: 100%;
}
</style>

文章到此结束,希望对你有所帮助~

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

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

相关文章

LeetCode·每日一题·931. 下降路径最小和·记忆化搜索

作者&#xff1a;小迅 链接&#xff1a;https://leetcode.cn/problems/minimum-falling-path-sum/solutions/2341965/ji-yi-hua-sou-suo-zhu-shi-chao-ji-xiang-3n58v/ 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 著作权归作者所有。商业转载请联系作者获得授权&am…

Mysql单表多表查询练习

题目要求&#xff1a; 1.查询student表的所有记录 2.查询student表的第2到4条记录 3.从student表查询所有的学生的学号&#xff08;id&#xff09;&#xff0c;姓名&#xff08;name&#xff09;&#xff0c;和院系&#xff08;department&#xff09;的信息 4.从student表…

LeetCode 75 第一题(1768)交替合并字符串

题目: 示例: 分析: 这是LeetCode75 的第一道题目,是一道简单题,题目没那么复杂,就是给两个字符串,要这两个字符串你出一个字符我出一个字符来拼凑出一个新的字符串,如果其中一个字符串用完了则剩下部分全部由另一个字符串出. 我们可以使用两个指针分别指向word1和word2: str…

【hadoop】部署hadoop全分布模式

hadoop全分布模式 全分布模式特点部署全分布模式准备工作正式配置hadoop-env.shhdfs-site.xmlcore-site.xmlmapred-site.xmlyarn-site.xmlslaves对NameNode进行格式化复制到另外两台虚拟机启动 对部署是否成功进行测试 全分布模式特点 真正的分布式环境&#xff0c;用于生产具…

【动手学习深度学习--逐行代码解析合集】19含并行连结的网络(GoogleNet)

【动手学习深度学习】逐行代码解析合集 19含并行连结的网络&#xff08;GoogleNet&#xff09; 视频链接&#xff1a;动手学习深度学习–含并行连结的网络&#xff08;GoogleNet&#xff09; 课程主页&#xff1a;https://courses.d2l.ai/zh-v2/ 教材&#xff1a;https://zh-v…

H3C-Cloud Lab实验-三层交换机实验

实验拓扑图&#xff1a; 实验需求&#xff1a; 1. 按照图示为 PC2 和 PC3 配置 IP 地址和网关 2. PC2 属于 Vlan10&#xff0c;PC3 属于 Vlan20&#xff0c;在三层交换机上配置 Vlanif 三层接口实现 Vlan10 和 Vlan20 三层互通 3. PC2 和 PC3 可以互通 实验步骤&#xff1a…

WAIC2023| AIGC究竟在向善还是向恶而行?

目录 一、常见图像篡改技术二、传统篡改图像检测方法2.1、基于光源和噪声的拼接图像篡改检测方法2.2、基于马尔科夫特征的检测方法 三、基于深度学习的图像篡改检测方法3.1、基于Fisher编码和SVM模型的方法3.2、 基于局部异常特征检测的Mantra-Net方法3.2、基于HRNet的编码器—…

Flink是什么

先看下大数据的发展历程 随着公司业务的增加&#xff0c;各种场景都要大量的业务数据产生&#xff0c;对于这些不断产生的数据如何进行有效的处理&#xff1f; 由此诞生了大数据处理工具&#xff1a; 数据存在关系型数据库&#xff0c;比如mysql&#xff0c;如何分析数据&#…

css之混合模式、文字智能适配背景、文字镂空效果、差值模式、滤色模式、difference、screen、overlay、mix、blend、mode

文章目录 文字智能适配背景(差值模式)文字镂空效果(滤色模式)文字与背景叠加(叠加模式)css3混合模式mix-blend-mode功能表格混合模式的分类 文字智能适配背景(差值模式) <div class"main"><span>文字智能适配背景</span> </div>.main {widt…

【python】python手机评论抓取+情感分析(python代码+报告)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、51CTO技术博主 &#x…

1.8 运用C编写ShellCode代码

在笔者前几篇文章中&#xff0c;我们使用汇编语言并通过自定位的方法实现了一个简单的MessageBox弹窗功能&#xff0c;但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底&#xff0c;还需要写出更多的指令集&#xff0c;这对于普通人来说是非常困难的&#xff0c;…

Linux —— 进程介绍

目录 一&#xff0c;进程介绍 二&#xff0c;进程使用 进程查看 通过系统调用获取进程标识符 通过系统调用创建进程 fork 一&#xff0c;进程介绍 进程是正在执行的程序或命令&#xff0c;每个进程都是一个运行的实体或程序的执行实例&#xff0c;有自己的地址空间&#x…

RNA病毒基因组的重头组装-内含tophat2报错的快速解决办法-CPIV3数据分析-2023-07-13

1、使用Trim Galore软件对两次数据进行质控&#xff0c;去掉20bp以下的reads vim新建RNA_seq_script_1对CPIV3测序数据进行质控分析 #!/bin/bash # 上面一行宣告这个script的语法使用bash语法&#xff0c;当程序被执行时&#xff0c;能够载入bash的相关环境配置文件。 # Prog…

Java 核心技术 卷I 第4章 对象与类

第4章 对象与类 4.1 面向对象程序设计概述 面向对象程序设计&#xff08;OOP&#xff09;是当今主流的程序设计范型。 Java是完全面向对象的&#xff0c;必须熟悉OOP才能够编写Java程序。 面向对象的程序是由对象组成的&#xff0c;每个对象包含对用户公开的特定功能部分和…

云计算相关概念

文章目录 一、云计算的三种部署模式&#xff1a;公有云、私有云、混合云--区别和特性二、华为云&#xff1a;简介、主要业务、特点和优势、不同场景和行业中的应用三、华为云-三剑客&#xff1a;IaaS、PaaS、SaaS 一、云计算的三种部署模式&#xff1a;公有云、私有云、混合云–…

驱动程序——字符设备驱动框架

文章目录 编写驱动程序的步骤代码hello_drv.chello_drv_test.c驱动模块代码编译&#xff08;编写Makefile&#xff0c;编译时间短&#xff09;驱动模块代码编译&#xff08;修改Makefile&#xff0c;编译时间长&#xff09;测试 应用调用open函数打开文件应用调用open函数打开设…

学习使用FAsyncTask执行异步任务

目标 要想在另一个线程中执行代码&#xff0c;使用FRunnable是一种方式。而使用FAsyncTask是另一种方式&#xff08;这也是UE的DDC相关代码中所使用的方式&#xff09;。 本篇尝试运行一个 FAsyncTask 的最简单的例子。 1. FAsyncTask 对于任务类的要求 FAsyncTask是一个类…

SPEC CPU 2006 在 CentOS 5.0 x86_64 古老系统测试【4】-O3 不支持 编译失败

gcc -O3 编译失败 结论&#xff1a;默认情况下SPEC CPU 2006 1.2 不支持 gcc -O3编译参数。

谈 Delphi 中 JSON 的简便操作(非常简单)

我曾有讲过Delphi操作JSON的方法&#xff0c;特别是这一篇【delphi】类和记录的 helpers&#xff08;助手&#xff09;。但是因为当时是主要介绍的是Delphi的Helper&#xff0c;大家可能并没注意到Delphi中JSON的简便操作方法。 早期Delphi并没有自己的JSON操作库&#xff0c;大…

51. N 皇后 (递归+回溯)

题目链接&#xff1a;力扣 解题思路&#xff1a;递归回溯&#xff0c;n个皇后不能在同一行&#xff0c;同一列&#xff0c;同一斜线上&#xff0c;需要将n个皇后放在n*n的棋盘上&#xff0c;所以棋盘的每一行一定有一个皇后&#xff0c;因此可以第一行开始&#xff0c;在当前行…