echarts地图自定义label属性以及引入china.js

news2025/1/18 8:58:04
效果图:

要点1:calc函数

重点:在于mapChart的height可以写成函数以便适配不同尺寸;

        <div class="content-map">
                <div class="wai-top-box" style="width: 100%; height: 100%">
                    <div id="mapChart" style=" width: 100%; height: calc(100vh - 100px)"> 
     </div>
             </div>
       </div>

重点1:在于mapChart的height可以写成函数适配不同尺寸
要点2:要点较多
map: {
                title: {
                    text: '',
                    x: 'center',
                    textStyle: {
                        color: '#333333'
                    }
                },
                tooltip: {
                    trigger: 'item',
                    showDelay: 0,
                    transitionDuration: 0.2,
                    formatter: function (params) {
                        const value = (params.value + '').split('.');
                        const valueStr = value[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,');
                        return params.name + ': ' + (params.value ? valueStr : 0);
                    }
                },

                // 数据和类型
                series: [
                    {
                        type: 'map',
                        map: 'china',
                        label: {
                            normal: {  PS: 自定义label 一定要写在norml里面
                                show: true,
                                position: 'inside',
                                formatter: function (params) {
                                    const value = (params.value + '').split('.');
                                    const valueStr = value[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,');
                                    return params.name + '\n' + '{a|' + (params.value ? valueStr : 0) + '}';   PS:\n用于换行
                                },
                                rich: {      PS:rich可以对自定的label的样子进行单独修改 ,该场景是下面的数字的fontSize比上面的小 
                                    a: {
                                        color: "rgba(104, 104, 104, 0.8)",
                                        fontSize: 12,
                                        lineHeight: 16
                                    }
                                },
                                color: 'rgba(104, 104, 104, 0.8)',
                                fontSize: 17
                            },

                        },
                        // 地图区域的多边形 图形样式。
                        itemStyle: {
                            normal: {
                                borderColor: '#E3E3E3', 省会旁边的描边颜色 即border的属性
                                borderWidth: 1
                            },
                        },
                        // 地图大小倍数
                        zoom: 1.2, 感觉
                        data: []
                    }
                ],
                visualMap: {
                    type: "piecewise",  这里是采用根据区间来设置颜色
                    min: 0,
                    text: ['High', 'Low'],
                    realtime: true,
                    calculable: true,
                    textStyle: {
                        color: '#fff'
                    },
//               inRange: { 这种情况是不限制区间根据地图自动渲染
                //        color: ['#FFFAED', '#840007', 'blue']
              //      },
                    pieces: [
                        { gt: 3000, color: "#280000" },
                        { gt: 1000, lte: 3000, color: "#450000" },
                        { gt: 500, lte: 1000, color: "#630000" },
                        { gt: 300, lte: 500, color: "#840007" },
                        { gt: 250, lte: 300, color: "#9B000C" },
                        { gt: 200, lte: 250, color: "#B20011" },
                        { gt: 150, lte: 200, color: "#CA0017" },
                        { gt: 100, lte: 150, color: "#DA0C23" },
                        { gt: 90, lte: 100, color: "#E22537" },
                        { gt: 80, lte: 90, color: "#EA3E4B" },
                        { gt: 70, lte: 80, color: "#F25760" },
                        { gt: 60, lte: 70, color: "#FB7174" },
                        { gt: 50, lte: 60, color: "#FF9469" },
                        { gt: 40, lte: 50, color: "#FFB24C" },
                        { gt: 30, lte: 40, color: "#FFCB45" },
                        { gt: 20, lte: 30, color: "#FFD15D" },
                        { gt: 10, lte: 20, color: "#FFD874" },
                        { gt: 1, lte: 10, color: "#FFE5A3" },
                        { value: 0, lte: 1, color: "#FFFAED" }
                    ],
                    right: -100
                }
            }
要点3:数据请求
 getMap() {
            // 中国地图
            this.map.series[0].data = [];
            distributed().then((res) => {
                this.nowData = res.data;
                res.data.loanProvinceCountList.forEach((item) => {
                    if (item.province) {
                        this.map.series[0].data.push({
                            name:item.province 
                            value: item.loanCount
                        });
                    }
                    console.log(this.map.series[0].data);
                });

                this.map.series[0].data.push({
                    name: '南海诸岛',
                    itemStyle: {
                        normal: {
                            opacity: 1,
                            label: {
                                show: false
                            }
                        }
                    }
                });

                let mapChartDom = document.getElementById('mapChart');
                let mapChart = this.$echarts.init(mapChartDom);
                mapChart.setOption(this.map);

                window.addEventListener('resize', function () {
                    mapChart.resize();   根据尺寸自适应
                });
            });

        },
要点4:引用china 

因为报错说map.china不存在

在main.js里面引入china.json
import * as echarts from 'echarts';
import china from 'echarts/map/json/china.json'
echarts.registerMap('china', china)
 

 

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

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

相关文章

四核8g服务器价格多少钱?

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

Swing中的FlowLayout/WrapLayout在打横排列时候如何做到置顶对齐

前言 最近在开发swing客户端时候碰到一个棘手的问题&#xff1a; Swing中的FlowLayout/WrapLayout在打横排列时候如何做到置顶对齐如果是vue或者react&#xff0c;一搜百度什么都出来了&#xff0c;swing的话&#xff0c;嗯。。。资料有点少而且大部分是stack overflow上面的…

数据仓库的建立

实验 目的 熟悉Linux系统、MySQL、Hadoop、HBase、Hive、Sqoop、R、Eclipse等系统和软件的安装和使用&#xff1b; 了解大数据处理的基本流程&#xff1b; 熟悉数据预处理方法&#xff1b; 熟悉在不同类型数据库之间进行数据相互导入导出&#xff1b; 熟悉使用R语言进行可视化…

ChatGPT 在做什么,为什么有效?

原文&#xff1a;What Is ChatGPT Doing … and Why Does It Work? 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 序言 这本简短的书试图从第一原理解释 ChatGPT 是如何工作的。在某种程度上&#xff0c;这是关于技术的故事。但它也是关于科学的故事。以及关于哲学…

『大模型笔记』LLMs入门:从头理解与编码LLM的自注意力机制

LLMs入门&#xff1a;从头理解与编码LLM的自注意力机制 这里直接引用我语雀上的的文章&#xff1a;《从头理解与编码LLM的自注意力机制》

第18讲:数据在内存中的存储

⽬录 1. 整数在内存中的存储 2. ⼤⼩端字节序和字节序判断 3. 浮点数在内存中的存储 ——————————————————————————————————————————— 1. 整数在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下⾯的内容&#x…

Ansible批量操作(上传文件、删除文件指定文件内容、执行sh文件等)

官方网站 https://www.ansible.com/ 一、Ansible 简介 1、Ansible是新出现的自动化运维工具&#xff0c;完全基于Python开发&#xff0c;集合了众多运维工具&#xff08;puppet、chef、func、fabric&#xff09;的优点&#xff0c;实现了批量系统配置、批量程序部署、批量运行…

MinGW使用std::thread报错error: ‘thread‘ is not a member of ‘std‘

目录 问题描述简单的测试代码报错及解决 问题描述 在windows上用vscode编写c代码进行编译时&#xff0c;一直上报error: ‘thread’ is not a member of std’的错误&#xff0c;搜索该错误上报都是说c版本不匹配&#xff0c;然后我在task.json里面添加了-stdc11之后还是报错&…

Spring Boot | Spring Boot的“数据访问“、Spring Boot“整合MyBatis“

目录: 一、Spring Boot”数据访问概述“二、Spring Boot”整合MyBatis”1. 基础环境搭建 (引入对应的“依赖启动器” 配置数据库的“相关参数”)① 数据准备 (导入Sql文件)② 创建项目&#xff0c;引入相应的启动器&#xff0c;编写数据库对应的“实体类”③额外添加pom.xml文…

Nacos下载安装与配置(linux)

一、Nacos下载 官网地址&#xff1a;home (nacos.io) 点击☆&#xff0c;跳转至Github页面。 点击Tags&#xff0c;跳转至版本选择页面&#xff0c;此处选择2.2.0版本。 点击nacos-server-2.2.0.tar.gz&#xff0c;进行下载。 二、将安装包上传至服务器 1.将安装包上传至/usr…

面试官:为什么忘记密码要重置,而不是告诉我原密码?

前端训练营&#xff1a;1v1私教&#xff0c;终身辅导计划&#xff0c;帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello&#xff0c;大家好&#xff0c;我是 Sunday。 最近有个同学在面试中遇到了一个很有意思的问题&#xff0c;我相信大多…

SON序列化解决方案

JSON&#xff08;JavaScript Object Notation&#xff09;是一种用于数据交换的轻量级数据格式。在我们日常Python编程中&#xff0c;通常可以使用内置的json模块来进行JSON序列化和反序列化。那么关于使用json模块进行JSON序列化和反序列化的问题解决方案&#xff0c;可以参考…

0基础如何进入IT行业

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Kubernetes航线图&#xff1a;从船长到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 对于没有任何相关背景知识的人来说&#xff0c;如何才能成…

【放假第1天】采购季倒计时 2G 50/年,4G 618/3年 云服务器选购攻略 阿里云 腾讯云 京东云对比 搭建网站、数据分析

更新日期&#xff1a;4月4日&#xff08;阿里云价格回调&#xff0c;京东云采购季持续进行&#xff09; 本文纯原创&#xff0c;侵权必究 【云服务器推荐】价格对比&#xff01;阿里云 京东云 腾讯云 选购指南视频截图 《最新对比表》已更新在文章头部—腾讯云文档&#xff…

腾讯云4核8g服务器性能如何?知道说说

腾讯云4核8G服务器价格&#xff1a;轻量4核8G12M优惠价格646元15个月、CVM S5服务器4核8G配置1437元买1年送3个月。腾讯云4核8G服务器支持多少人同时在线&#xff1f;支持30个并发数&#xff0c;可容纳日均1万IP人数访问。腾讯云百科txybk.com整理4核8G服务器支持多少人同时在线…

SWM341系列应用(上位机应用)

SWM341系列之上位机应用 1、分级图像和PNG、JPG的应用 现象&#xff1a;客户使用SWM34SVET6HMI_0.4.1版本上位机进行UI界面布局&#xff0c;反馈在模拟运行时&#xff08;PC端&#xff09;流畅&#xff0c;在Demo平台&#xff08;设备端&#xff09;运行卡顿。 分析及解决&…

Object类与内部类

废话不多说&#xff0c;直接进入正题。 目录 一、Object类 1.介绍Object类 2.toString方法 3.equals方法 4.hashCode方法 二、内部类 1.静态内部类 2.实例内部类 3.匿名内部类 4.局部内部类 一、Object类 1.介绍Object类 &#xff08;1&#xff09;Object类就是所有…

算法学习——LeetCode力扣补充篇6(132. 分割回文串 II、673. 最长递增子序列的个数、841. 钥匙和房间、463. 岛屿的周长)

算法学习——LeetCode力扣补充篇6 132. 分割回文串 II 132. 分割回文串 II - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。 返回符合要求的 最少分割次数 。 示例 示例 1&#…

一文了解低功耗蓝牙BLE

低功耗蓝牙技术可以构建两种类型的设备:双模设备和单模设备。双模设备既支持经典蓝牙又支持低功耗蓝牙。单模设备只支持低功耗蓝牙。还有仅支持经典蓝牙的设备。 在链路层,设备被分为广播者、扫描者、从设备和主设备。广播者是传输数据包的设备,扫描者是接收广播者的数据包…

ids工业相机与电控位移台同步控制及数据采集

通过VS2017和OpenCV,实现ids工业相机与电控位移台同步控制及数据采集 目录项目环境配置代码流程及思路项目架构项目开发运行效果开发关键ids相机配置位移台环境配置相机头文件相机参数设置保存图像函数设置电控位移台头文件电控位移台设置参数最后就是通过main函数进行调用和控…