前言

最近接了一个外包的项目,其中有个需求是这样的,

需要展示一个中国的统计地图,要求每个省市区都是不一样的颜色,必须特别区分开。以及隐藏南海部分。

看了Echats相关文档,发现有类似的demo,但不是特别符合要求。于是自己仔细读文档研究。找到解决问题于是分享一下。

正文

废话不多少,直接上代码

方法1 (在数据中直接添加样式)

需要后台配合的data数据结构如下:

data: {
{name: '北京',value: 11,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '天津',value: 22,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '上海',value: 33,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '重庆',value: 44,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '河北',value: 55,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '河南',value: 66,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '云南',value: 77,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '辽宁',value: 88,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '湖南',value: 99,itemStyle:{normal:{areaColor:#fff,label:{show:false}}}},
{name: '南海诸岛',value: 99,itemStyle:{normal:{opacity:0,label:{show:false}}}}, .......... }
// areaColor 就是省的自定义颜色值
// opacity 就是某个省透明,一般有业务需求要求隐藏南海诸岛(虽然业务有要求,但是一定要记住南海永远是中国的一部分,南海永远是中国的一部分,南海永远是中国的一部分,重要的事情说三遍!)

前端配置信息

option = {

    ....... 省略大堆配置

    series: [{
type: 'map',
name: 'tips名字',
data: data
}]
}

方法2 (在配置中添加样式,数据中定义颜色)

需要后台配合的data数据结构如下:

data: {
{"name": "北京", "value": 34, "count": 500, "color": "#f00"},
{"name": "天津", "value": 33, "count": 300, "color": "#ff0"},
{"name": "上海", "value": 32, "count": 50, "color": "#f0f"},
{"name": "重庆", "value": 31, "count": 50, "color": "#0f0"},
{"name": "河北", "value": 30, "count": 120, "color": "#00f"}, ........ }

前端配置信息

// data需要进行一次循环,填入设置。
var customSettings = [];
data.forEach(function (item, index) {
customSettings.push({
name: item.name,
itemStyle: {
areaColor: item.color,
color: item.color
}
})
})
// 南海单独设置,push 进数组
customSettings.push(
{
name: '南海诸岛',
itemStyle: {
normal: {
opacity: 0,
label: {
show: false
}
}
}
}
) option = { ....... 省略大堆配置
geo: {
map: 'china',
top: 0,
bottom: 0,
regions: customSettings // 设置单独的样式。
}
series: [{
type: 'map',
name: 'tips名字',
data: data
}]
}

总结

这是我目前发现的两种方案,各有优劣, 第一种需要后台支持,返回你需要的数据,但是返回的数据中携带的数据量大很多。 不过也可以返回到前段自己循环组装数据。跟第二种方法差不多的循环方式,都可以。

Echarts 中国地图各个省市自治区自定义颜色的更多相关文章

  1. 一个让echarts中国地图包含省市轮廓的技巧

    背景知识及应用简介 本文主要介绍一个使用ECharts地图组件的取巧方法,该技巧源于实际需求中遇到的问题,一般没有该需求的话这个技巧也是用不到的.有前端基础和以及对ECharts有了解的人基本可以读懂 ...

  2. echarts中国地图散点涟漪效果

    echarts中国地图例子:http://gallery.echartsjs.com/editor.html?c=effectScatter-map 代码: var data = [{ name: ' ...

  3. echarts中国地图

    echarts中国地图效果图: =================== 需要引入echarts的js文件:(1.echarts.min.js:2.china.js) 下载地址: echarts.min ...

  4. echarts使用------地图生成----省市地图的生成及其他相关细节调整

    为使用多种业务场景,百度echarts地图示例只有中国地图,那么在使用省市地图的时候,就需要我们使用省市的地图数据了 以下为陕西西安市的地图示例: 此页面引用echarts的js:http://ech ...

  5. vue + echart 实现中国地图 和 省市地图(可切换省份)

    一.中国地图 1.先导入echarts,然后再main.js里引入echarts // 引入echartsimport echarts from 'echarts'Vue.prototype.$ech ...

  6. Echarts 中国地图(包括china.js文件)

    用Echarts写中国地图需要导入china.js(现在官方不提供下载,个人找的在最下面有),根据需要的效果如下.位置可以自己在option里面修改 <!DOCTYPE html> < ...

  7. echarts 中国地图 数据自动提示

    mounted() { // 首先每种图是根据series -->type决定的 eg:bar--柱状图 line 折线图 pie饼图 map地图等等三部曲 跟着走 // @第一步都是初始化 v ...

  8. 使用echarts简单制作中国地图,echarts中国地图

    网站需要一张中国地图,并且鼠标经过某个省份,该省份的省份名字显示,而且该省份的地区会变色显示. 第一种方法: 将每个省份的图片定位(先隐藏),拼合成一张中国地图,然后再定位省份名称,鼠标经过省份名字, ...

  9. echarts 中国地图标注所在点

    达到的效果: 1.本身是个中国地图‘ 2.直接通过经纬度标注 3.标注点可以是其他样子(比如:五角星) 4.标注点具有提示框并且鼠标可以进入 5.提示框里的链接可点击(可以添加为链接事件): 所需要技 ...

随机推荐

  1. 使用 HttpClient3.1 和 HtmlParser2.1 开发Crawler

    https://www.ibm.com/developerworks/cn/opensource/os-cn-crawler/

  2. SLF4J - 一个允许你统一日志记录API的抽象层

    一.什么是SLF4J 我们在做Java开发时,如果需要记录日志,有很多日志API可供选择,如: java.util.logging Apache log4j logback SLF4J又是个什么东东呢 ...

  3. EasyUI 冻结列

    一.如果是js绘制的,设置frozenColumn属性就可以,frozenColumn 属性和 columns 属性都是设置列,frozenColumn是设置冻结列 $('#tt').datagrid ...

  4. 记录项目中用的laypage分页代码

    最终才觉得,好记性不如烂笔头,毕竟已经不是刚毕业时候的巅峰了,精力有所下降,很多时候记不住东西. 参考url:http://www.layui.com/laypage/ 直接上代码了 <scri ...

  5. POJ- 1094 Sorting It All Out---拓扑排序是否唯一的判断

    题目链接: https://vjudge.net/problem/POJ-1094 题目大意: 该题题意明确,就是给定一组字母的大小关系判断他们是否能组成唯一的拓扑序列.是典型的拓扑排序,但输出格式上 ...

  6. innerHTML与innerText的区别

    innerHTML获取元素的HTML内容,和设计元素的HTML内容(HTML标签会被解析)例如:ele.innerHTML="<strong>我会被解释加粗</strong ...

  7. Delphi X10.2 + FireDAC 使用 SQL 语句 UPDATE

    MainForm.Conn.StartTransaction; UserManagerQuery.SQL.Clear; UserManagerQuery.SQL.Text := 'UPDATE tab ...

  8. delphi 10.1 Berlin 中使用自带的 MD5 校验

    uses System.Hash;//要引用这个单元哈 var Digest: TBytes; MD5: THashMD5; MD5Buf: TBytes; params: string; begin ...

  9. Bank方案SQL

    用于演示的Bank方案对应的SQL: /* 1.branch 开展银行交易业务的场所 */ DROP TABLE IF EXISTS branch; CREATE TABLE branch -- 开展 ...

  10. BOM,Dom 回顾

    加给元素: offsetLeft(距离定位父级的距离)/offsetTop(距离定位父级的距离)/offsetWidth(可视宽度)/offHeight(可视高度) clientLeft(左边框宽度) ...