echarts地图修改图例

2024-06-19 13:12
文章标签 图例 echarts 地图 修改

本文主要是介绍echarts地图修改图例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要求:根据数据排名,前三名点亮橙色,其他地区根据数值分配不同颜色,并且要加上单位
效果图如下:
在这里插入图片描述
实现方法如下:

visualMapFormat(list) {//先将数据按从大到小的顺序排列//当list长度为1时,点亮这1个//当list长度为1-3时,点亮第一个//当list长度为3-8时,判断并列第三名的个数,当第三名超过2个时,只有前2名是橙色,否则点亮前三名//当list长度大于8时,点亮前三名list.sort((a, b) => {return b.value - a.value;});let VMOptions = [];if (list.length === 1) {VMOptions = [{gt: this.numToCeil(list[0].value, false), color: color},];} else if (list.length > 1 && list.length <= 3) {VMOptions = [{gte: this.numToCeil(list[0].value, false), color: color},{lt: this.numToCeil(list[0].value, false), color: "#1360D3"},];} else if (list.length > 3 && list.length <= 8) {let thirdNum = list.filter(item => item.value === list[2].value).length;  //获取第三名的个数//当第三名超过2个时,只有前2名是橙色if(thirdNum>=2){VMOptions = [{min: Math.round(list[2].value), color: color},{min: this.numToCeil(list[2].value / 2, false),max: Math.round(list[2].value),color: "#79CBFF",},{max: this.numToCeil(list[2].value / 2, false), color: "#023280"},];}else{VMOptions = [{min: this.numToCeil(list[1].value, false), color: color},{min: this.numToCeil(list[2].value / 2, false),max: this.numToCeil(list[1].value, false),color: "#79CBFF",},{max: this.numToCeil(list[2].value / 2, false), color: "#023280"},];}} else if (list.length == 0) {return} else {let single = this.numToCeil(list[4].value / 5, false);VMOptions = [{min: this.numToCeil(list[2].value, false), color: color},{min: single * 5,max: this.numToCeil(list[2].value, false),color: "#79CBFF",},{min: single * 4, max: single * 5, color: "#79CBFF"},{min: single * 3, max: single * 4, color: "#3996FF"},{min: single * 2, max: single * 3, color: "#1360D3"},{min: single, max: single * 2, color: "#0A49A8"},{max: single, color: "#023280"},];}this.chinaOption.visualMap.pieces = VMOptions;//处理显示格式this.chinaOption.visualMap.formatter = (start, end) => {if (start === -Infinity) {let array = this.setUnit(end)return '< ' + array[0] + array[1]} else if (end === Infinity) {let array = this.setUnit(start)return '>' + array[0] + array[1]} else {let array1 = this.setUnit(start)let array2 = this.setUnit(end)return array1[0] + '-' + array2[0] + array2[1]}}},
//根据数值设置相应的单位setUnit(num) {let unit = ''if (num * 3 > 100000000) {num = Math.round(num / 100000000)unit = '亿人'} else if (num * 3 > 10000) {num = (num / 10000).toFixed(2)unit = '万人'} else {unit = '人'}return [num, unit]},
// 数据取整numToCeil(num, type) {let outPut = 0;if (0 < num && num <= 10) {outPut = num;} else if (10 < num && num < 100) {outPut = type ? Math.ceil(num / 5) * 5 : Math.floor(num / 5) * 5;} else if (num >= 100 && num < 10000) {outPut = type ? Math.ceil(num / 10) * 10 : Math.floor(num / 10) * 10;} else if (num >= 10000) {outPut = type? Math.ceil(num / 100) * 100: Math.floor(num / 100) * 100;}return Math.round(outPut);},

完成。

这篇关于echarts地图修改图例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075122

相关文章

echarts省份标注加散点效果

这个是安徽的效果图,鼠标移到红色标注或者对应的市区位置都会显示对应的数值。 先直接上代码: import anhuiMapJson from './anhui.json'getCoords: function(city) {var res = [];if (city != null) {for (var c in this.cityMap.features) {if (this.cityMa

uniapp H5打开地图

manifest.json文件,源码视图找到H5添加下面内容 "h5" : {"sdkConfigs" : {"maps" : {"amap" : {"key" : "**********************","securityJsCode" : "****************************","serviceHost" : ""}}}} 高德开放平台 申请时选择(W

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

vscode-创建vue3项目-修改暗黑主题-常见错误-element插件标签-用法涉及问题

文章目录 1.vscode创建运行编译vue3项目2.添加项目资源3.添加element-plus元素4.修改为暗黑主题4.1.在main.js主文件中引入暗黑样式4.2.添加自定义样式文件4.3.html页面html标签添加样式 5.常见错误5.1.未使用变量5.2.关闭typescript检查5.3.调试器支持5.4.允许未到达代码和未定义代码 6.element常用标签6.1.下拉列表

如何利用echarts编写立体的柱状图表

1、引入 import * as echarts from 'echarts' 2、创建图标容器 3、调用渲染 <template><div ref="eachrtsBox" style="width: 200px;height: 200px;"></div></template><script>import * as echarts from 'echarts'export d

把Tiled中做出的地图弄到项目中~~就是懒,为了以后直接复制写过来

1.现在.h中声明private: cocos2d::CCSprite* ninja; cocos2d::CCTMXTiledMap*  tileMap; 然后.cpp中加入tileMap = CCTMXTiledMap::create("MyTileMap.tmx"); CCTMXLayer* backLayer = tileMap->layerNamed("Tile L

一二三应用开发平台应用开发示例(4)——视图类型介绍以及新增、修改、查看视图配置

调整上级属性类型 前面为了快速展示平台的低代码配置功能,将实体文件夹的数据模型上级属性的数据类型暂时配置为文本类型,现在我们调整下,将其数据类型调整为实体,如下图所示: 数据类型需要选择实体,并在实体选择框中选择自身“文件夹” 这时候,再点击生成代码,平台会报错,提示“实体【文件夹】未设置主参照视图”。这是因为文件夹选择的功能页面,同样是基于配置产生的,因为视图我们还没有配置,所以会报错。

关于文章“python+百度语音识别+星火大模型+讯飞语音合成的语音助手”报错的修改

前言 关于我的文章:python+百度语音识别+星火大模型+讯飞语音合成的语音助手,运行不起来的问题 文章地址: https://blog.csdn.net/Phillip_xian/article/details/138195725?spm=1001.2014.3001.5501 1.报错问题 如果运行中报错,且报错位置在Xufi_Voice.py文件中的pcm_2_wav,如下图所示

文件权限修改为777,php failed to open stream: Permission denied

记录一次在谷歌云上的异常诡异的事件: 环境 centos7.5 nginx php7.0 mysql 问题: 问题一 我用相同的nginx配置,只是修改了nginx root目录。 打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr: “Primary scr

关于修改计算机的处理器数和最大内存数的问题

问题描述: 刚开始本来是想让计算机的运行速度运行的快点,于是在网上搜索如何让计算机的运行速度更快,找到了一种关于修改计算机内存数和计算机的处理核数可以让计算机运行的更快。 遇到问题: 当我通过命令msconfig →引导→高级选项→勾选了处理器数和最大内存数,然后重启,结构整个计算机都卡的要死,于是记录下来。网上的答案有时候真的是很不负责任,也有可能是自己技术不到位。 结果:取消处理器和内