echarts设置竖向不同区间范围颜色,并且x轴自定义轴线刻度范围

news2024/12/23 3:09:01

需求:设置竖向范围区间,不同范围区间颜色不同并且提示信息不同,之后修改x轴的固定间距范围,让0-200-400-600改为0-340-476-754这种,在这我是markLine的方式实现的,这边我还用到x轴的翻转所以显示的是镜像的。

1.效果

2.主要代码

inverse:翻转轴线

type必须为value,不然图片显示不出来,其他就是把x轴线给隐藏了,之后再用markLine去手动画一条线

   xAxis: {
                    inverse: true,
                    type: 'value',
                    axisTick: { show: false }, // 隐藏刻度线
                    splitLine: { show: false }, // 隐藏分割线
                    axisLabel: { show: false } // 隐藏刻度值
                },

使用markLine画线,data就是线的间隔数据, 

lineStyle: { color: 'black', type: 'dotted' },线的颜色和类型,可选solid(实线),dashed(虚线),dotted(斑点虚线)

    markLine: {
                            symbol: false, // 取消箭头
                            silent: true, // 取消鼠标hover事件
                            label: {
                                position: 'start', // 改变label位置
                                formatter: (obj) => obj.value // 格式化标签文本
                            },
                            lineStyle: { color: 'black', type: 'dotted' },
                            data: [0, 530, 580, 630].map((val) => {
                                return {
                                    xAxis: val
                                };
                            })
                        },

注意这个data,data的值是530-580之间的差值,差50value就写50,写多了图就错了。。。

     {
                        name: '',
                        tooltip: {
                            trigger: 'item',
                            formatter: '\n围岩级别:IV<br/>\n。'
                        },
                        type: 'bar',
                        stack: 'total',
                        itemStyle: {
                            color: 'green'
                        },
                        label: {
                            show: true,
                            formatter: 'IV',
                            color: 'black'
                        },
                        emphasis: {
                            focus: 'series'
                        },
                        data: [
                            {
                                value: 50,
                                xAxis: 1
                            }
                        ]
                    },

3.完整代码

<template>
    <div class="content-box">
        <div class="container">
            <div style="width: 500px; height: 500px">
                <div id="LineECharts" :style="{ width: '100%', height: '500px' }"></div>
            </div>
        </div>
    </div>
</template>

<script>
export default {
    name: 'LineECharts', // 折线图
    data() {
        return {};
    },
    methods: {
        drawLine() {
            // 获取当前日期
            // let nowTime = new Date().toLocaleDateString().split('/').join('-');
            // 基于准备好的dom,初始化echarts实例
            let myChartOne = this.$echarts.init(document.getElementById('LineECharts'));
            // 绘制图表
            myChartOne.setOption({
                tooltip: {
                    trigger: 'item',
                    axisPointer: {
                        type: 'shadow'
                    }
                },
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true
                },
                xAxis: {
                    inverse: true,
                    type: 'value',
                    axisTick: { show: false }, // 隐藏刻度线
                    splitLine: { show: false }, // 隐藏分割线
                    axisLabel: { show: false } // 隐藏刻度值
                },
                yAxis: {
                    type: 'category',
                    data: ['级别']
                },
                series: [
                    {
                        name: '',
                        tooltip: {
                            trigger: 'item',
                            formatter: '\n  围岩级别:III<br/>\n'
                        },
                        type: 'bar',
                        stack: 'total',
                        itemStyle: {
                            color: '#ddd'
                        },
                        label: {
                            show: true,
                            formatter: 'III',
                            color: 'black'
                        },
                        emphasis: {
                            focus: 'series'
                        },
                        data: [
                            {
                                value: 530,
                                xAxis: 0
                            }
                        ],
                        markLine: {
                            symbol: false, // 取消箭头
                            silent: true, // 取消鼠标hover事件
                            label: {
                                position: 'start', // 改变label位置
                                formatter: (obj) => obj.value // 格式化标签文本
                            },
                            lineStyle: { color: 'black', type: 'dotted' },
                            data: [0, 530, 580, 630].map((val) => {
                                return {
                                    xAxis: val
                                };
                            })
                        }
                    },
                    {
                        name: '',
                        tooltip: {
                            trigger: 'item',
                            formatter: '\n围岩级别:IV<br/>\n。'
                        },
                        type: 'bar',
                        stack: 'total',
                        itemStyle: {
                            color: 'green'
                        },
                        label: {
                            show: true,
                            formatter: 'IV',
                            color: 'black'
                        },
                        emphasis: {
                            focus: 'series'
                        },
                        data: [
                            {
                                value: 50,
                                xAxis: 1
                            }
                        ]
                    },
                    {
                        name: '',
                        tooltip: {
                            trigger: 'item',
                            formatter: '\n 围岩级别:V<br/>\n 。'
                        },
                        type: 'bar',
                        stack: 'total',
                        itemStyle: {
                            color: '#333'
                        },
                        label: {
                            show: true,
                            formatter: 'V',
                            color: 'black'
                        },
                        emphasis: {
                            focus: 'series'
                        },
                        data: [
                            {
                                value: 50,
                                xAxis: 2
                            }
                        ]
                    }
                ]
            });
            window.onresize = () => {
                // 根据窗口大小变化图表自适应
                myChartOne.resize();
            };
        }
    },
    mounted() {
        this.drawLine();
    }
};
</script>

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

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

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

相关文章

视频SDK开发,多平台SDK快速接入

随着科技的不断发展&#xff0c;视频已经成为了企业业务中不可或缺的一部分。无论是在线教育、企业培训还是产品展示&#xff0c;视频都发挥着至关重要的作用。为了满足企业对视频应用的需求&#xff0c;美摄视频SDK应运而生&#xff0c;为企业提供了一站式的视频解决方案。 一…

聊一聊Spring 事务的相关操作

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1、JdbcTemplate 1.1、简介 Spring 框架对 JDBC 进行封装&#xff0c;使用 JdbcTemplate 方便实现对数据库操作 1.2、准备工作 ①搭建子模块 搭建子模块&#xff1a;spring-jdbc-tx ②加入依赖 <dependenci…

21天打卡进阶Python基础操作

python21天打卡day3-python数据类型 #int a2 print(a) print(type(a)) #float a2.2 print(a) print(type(a)) #string anihao print(a) print(type(a)) #list a[1,2,3,4] print(a) print(a[0]) print(type(a)) #元组 a(1,2) print(a) print(type(a)) #字典dict a{name:yangyal,…

Unity3D 如何制作带厚度的透明图片详解

Unity3D是一款功能强大的游戏开发引擎&#xff0c;可以实现各种复杂的游戏效果。本文将详细介绍如何使用Unity3D制作带厚度的透明图片&#xff0c;并提供代码实现。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀&#…

react antd实现upload上传文件前form校验,同时请求带data

最近的需求&#xff0c;两个下拉框是必填项&#xff0c;点击上传按钮&#xff0c;如果有下拉框没选要有提示&#xff0c;如图 如果直接使用antd的Upload组件&#xff0c;一点击文件选择的窗口就打开了&#xff0c;哪怕在Button里再加点击事件&#xff0c;也只是&#xff08;几乎…

AutoCAD 2022 for Mac/Windows升级您的设计工具,提升工作效率

Autodesk AutoCAD 2022 是设计行业最流行的计算机辅助设计 (CAD) 软件之一。这款软件由Autodesk公司开发&#xff0c;它提供了强大的功能&#xff0c;从基本的设计和修改工具&#xff0c;到复杂的3D建模和渲染&#xff0c;一切尽在掌握。通过其直观的用户界面和不断更新的功能&…

mmDetection3D避坑指南

1 运行test.py报CUDA类错误 包括API之类的错误&#xff0c;是因为KITTI数据集有损坏&#xff0c;需要重新导入完整KITTI官方数据集,再根据官方步骤用create_data.py处理

memcpy内存拷贝函数

目录 一、memcpy内存拷贝函数 注意事项 二、memcpy与strcpy对比 三、模拟实现memcpy函数 四、memcpy函数不能进行两块存在内存重叠的空间的内存拷贝 五、改进my_memcpy函数 一、memcpy内存拷贝函数 头文件&#xff1a;string.h 函数原型&#xff1a;void* memcpy(void* …

Acwing 3306.装珠饰(十一届蓝桥java/py组J题)--dp之分组背包(hard)

分析&#xff1a; 6件装备作为一个整体去看待&#xff01;&#xff01;&#xff01;加的效果是看总的装备数目 分组背包的一个特点&#xff1a;每一个组里面只能取出一个物品&#xff0c;这里是把抽象成不同的方案数(有点多重背包的二进制处理方法的感觉。) 代码实现&#xff1…

ubuntu 20.04 passwd 指令不能使用

Linux 更改用户密码报Changing password for user 用户名. passwd: Module is unknown或更改新增用户密码passwd&#xff1a;未知的用户名 报错信息如下&#xff1a; 解决方法&#xff1a; 可以排查 /etc/pam.d/passwd配置文件 注释掉包含pam_passwdqc.so模块的行&#xff0c…

微信小程序之自定义组件(OA项目个人主页及投票)

前言 本期为大家带来微信小程序自定义组件及OA项目的个人主页布局和投票 一.自定义组件 1.学习官网 自定义组件 / 介绍 (qq.com) 2.如何自定义组件 2.1 创建目录 在根目录下依次创建components/tabs&#xff0c;然后在tabs中新建Component 创建好后会自动为我们生成对应的文…

微软Azure OpenAI支持数据微调啦!可打造专属ChatGPT

10月17日&#xff0c;微软在官网宣布&#xff0c;现在可以在Azure OpenAI公共预览版中对GPT-3.5-Turbo、Babbage-002 和Davinci-002模型进行数据微调。 使得开发人员通过自己的数据集&#xff0c;便能打造独一无二的ChatGPT。例如&#xff0c;通过海量医疗数据进行微调&#x…

零基础搭建个人网站详细流程

最近两天&#xff0c;为了给自己的工具类APP备案&#xff0c;买了阿里云ECS和域名。虽然很想说离线工具APP不用联网&#xff0c;但是现实就很无语。言归正传&#xff0c;既然买了总不能将它们闲置着&#xff0c;就诞生了建站的想法&#xff0c;至少还能放个用户协议和隐私协议。…

潮玩宇宙:收藏、交流与竞技的数字乐园

最近爆火的新项目潮玩宇宙&#xff0c;想必有很多人入场了&#xff0c;代理商宣传投资147一个月回本&#xff0c;确实是现在做到了&#xff0c;现在平台一颗宝石的价格已经超过美金了&#xff0c;还有一大部分人在等待进场&#xff0c;潮玩宇宙旗下奖券世界和养猪农场已经做了有…

学习编程语言需要熟悉库函数吗?

学习编程语言需要熟悉库函数吗? 我想答案肯定是需要的。 但不是盲目的挨个去记&#xff0c;几乎各个语言的库函数都极为丰富&#xff0c;逐个记忆的话是十分劝退的&#xff0c;而且也不可能全部熟悉&#xff0c;到用的时候该忘还是忘。最近很多小伙伴找我&#xff0c;说想要一…

Python数据分析实战-使用replace方法精确匹配替换某列的值(附源码和实现效果)

实现功能 将DataFrame中某一列的指定的两个值分别替换为0和1&#xff0c;而将其他值替换为2 实现代码 import pandas as pd# 创建一个示例DataFrame data {A: [1, 2, 3, 4, 5],B: [a, b, c, d, e]} df pd.DataFrame(data)# 打印替换前的DataFrame print("替换前的Dat…

[游戏开发][Unity] ScriptableObject数据创建与各种加载方式

前言 ScriptableObject支持把类对象数据序列化成Unity asset文件&#xff0c;同时支持反序列化成类对象。本文章通过两个案例讲解ScriptableObject的使用方式&#xff0c;第一个是简单案例&#xff0c;序列化简单的bool值和Sting数据。第二个是复杂案例&#xff0c;在类对象里嵌…

2.IDEA的安装使用指南

学习Java的第二步应该是从IDEA下手&#xff0c;这篇博文介绍了它的安装及使用&#xff0c;希望大家看完后可以独立安装 ~ 文章目录 一、下载安装包二、安装 IDEA三、IDEA 初步上手 一、下载安装包 安装包可以从官网下载&#xff0c;也可以直接私信我拿取。这里主要介绍如何在官…

了解远程连接工具

什么是远程连接 远程连接就是在远程连接另外一台计算机。当某台计算机开启了远程桌面连接功能后我们就可以在网络的另一端控制这台计算机了&#xff0c;通过远程桌面功能我们可以实时的操作这台计算机&#xff0c;在上面安装软件&#xff0c;运行程序&#xff0c;所有的一切都…

TOPDON获评2023年度“汽车后市场科技创新企业”,研发实力被认可

近期&#xff0c;由《环球时报》社、中国企业网主办的2023(第六届)中国经济大会在北京召开&#xff0c;本次大会以“迈向高质量&#xff0c;问道新发展”为主题&#xff0c;政商产学研嘉宾同襄盛会&#xff0c;交流发展理念&#xff0c;分享创新经验&#xff0c;为推动产业变革…