Echarts中国地图背景颜色渐变

xiaoxiao2025-06-05  50

摘要:关于Echarts地图的问题,在第一篇就说过引入等相关问题(如还有疑惑请先看之前的文章传送门)。地图的背景颜色如何实现渐变呢?主要利用的是Echarts中的geo和visualMap结合实现。visualMap 是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。

✦ 与 ECharts2 中 dataRange 的关系 ✦

visualMap 是由 ECharts2 中的 dataRange 组件改名以及扩展而来。ECharts3里 option 中的 dataRange 配置项仍然被兼容,会自动转换成 visualMap 配置项。在option中推荐写 visualMap 而非 dataRange。

实现:话不多说,直接上比较全的代码啦

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>echarts中国地图</title> <style> .centerItem { width: 856px; height: 640px; background-color: #003077; margin: 110px auto 0 auto; } </style> </head> <body> <!-- 中国地图展示 --> <div id="mapBox" class="centerItem"></div> <!-- 引入相关文件 --> <script src="js/jquery-3.2.1.min.js"></script> <!-- 引入 ECharts 文件 --> <script src="js/echarts.js"></script> <script src="js/china.js"></script> <script> // 基于准备好的dom,初始化echarts实例 var mapBoxEchart = echarts.init(document.getElementById('mapBox')); // 指定相关的配置项和数据 var mapBoxOption = { visualMap: { show: true, min: 0, // 指定 visualMapContinuous 组件的允许的最小值。'min' 必须用户指定。[visualMap.min, visualMax.max] 形成了视觉映射的『定义域』。 max: 1000, // 指定 visualMapContinuous 组件的允许的最大值 text: ['High', 'Low'], // 两端的文本,如 ['High', 'Low'] 如例子:http://www.echartsjs.com/gallery/editor.html?c=doc-example/map-visualMap-continuous-text&edit=1&reset=1 realtime: false, // 拖拽时,是否实时更新。 calculable: false, // 是否显示拖拽用的手柄(手柄能拖拽调整选中范围)。 hoverLink: false, // 打开 hoverLink 功能时,鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮。 inRange: { // inRange (object)定义 在选中范围中 的视觉元素。(用户可以和 visualMap 组件交互,用鼠标或触摸选择范围)1、symbol: 图元的图形类别。2、symbolSize: 图元的大小。3、color: 图元的颜色。4、colorAlpha: 图元的颜色的透明度。5、opacity: 图元以及其附属物(如文字标签)的透明度。6、 color: ['#0494e1', '#004098'] }, }, geo: { map: 'china', roam: false, // 是否开启鼠标缩放和平移漫游。默认不开启。如果只想要开启缩放或者平移,可以设置成 'scale' 或者 'move'。设置成 true 为都开启 aspectScale: 0.75, zoom: 1.20, label: { normal: { show: true, textStyle: { color: '#00a0c9' } }, emphasis: { // 对应的鼠标悬浮效果 show: false, textStyle: { color: "#00a0c9" } } }, itemStyle: { normal: { areaColor: '#0083ce', borderColor: '#0066ba' }, emphasis: { borderWidth: 0, borderColor: '#0066ba', areaColor: "#0494e1", shadowColor: 'rgba(0, 0, 0, 0.5)' } } }, series: [{ type: 'map', roam: true, coordinateSystem: 'geo', geoIndex: 0, aspectScale: 0.75, zoom: 1.2, label: { normal: { formatter: '{b}', position: 'right', show: false }, emphasis: { show: true } }, itemStyle: { normal: { color: '#F06C00' } }, data: [ // value可以对应的相应的颜色区域值 { name: '北京', value: 120 }, { name: '天津', value: 120 }, { name: '上海', value: 80 }, { name: '重庆', value: 100 }, { name: '河北', value: 100 }, { name: '河南', value: 100 }, { name: '云南', value: 40 }, { name: '辽宁', value: 120 }, { name: '黑龙江', value: 100 }, { name: '湖南', value: 80 }, { name: '安徽', value: 80 }, { name: '山东', value: 100 }, { name: '新疆', value: 40 }, { name: '江苏', value: 80 }, { name: '浙江', value: 60 }, { name: '江西', value: 80 }, { name: '湖北', value: 100 }, { name: '广西', value: 40 }, { name: '甘肃', value: 120 }, { name: '山西', value: 120 }, { name: '内蒙古', value: 140 }, { name: '陕西', value: 120 }, { name: '吉林', value: 120 }, { name: '福建', value: 60 }, { name: '贵州', value: 80 }, { name: '广东', value: 40 }, { name: '青海', value: 100 }, { name: '西藏', value: 40 }, { name: '四川', value: 80 }, { name: '宁夏', value: 140 }, { name: '海南', value: 20 }, { name: '台湾', value: 40 }, { name: '香港', value: 20 }, { name: '澳门', value: 20 } ] }] }; // 使用制定的配置项和数据显示图表 mapBoxEchart.setOption(mapBoxOption); // echart图表自适应 window.addEventListener("resize", function() { mapBoxEchart.resize(); }); </script> </body> </html>

运行后的效果如图:

 

转载请注明原文地址: https://www.6miu.com/read-5031310.html

最新回复(0)