矢量地图的实现步骤

  • echarts最基本的代码结构:
    引入js文件,DOM容器,初始化对象,设置option

  • 准备中国的矢量地图json文件,放到json/map/的目录下
    china.json
    json文件下载地址:DataV.GeoAtlas地理小工具系列 (aliyun.com)

  • 使用Ajax获取china.json

1.$.get('./json/map/china.json',(chinaJson)=>{ })
  • 在回调函数中往echarts全局对象注册地图的json数据
1. echarts.registerMap('chinaMap',chinaJson)
  • 在geo下设置
type:'map',
map:'chinaMap'

常用配置

  • 缩放拖动 roam

roam:true
  • 名称显示 label

label: {show: true
}

  • 初始缩放比例 zoom

zoom: 1.2
  • 地图中心点 center

示例代码:



常见效果

  • 显示某个区域:

  1. 加载该区域的矢量地图数据
  2. 通过registerMap注册到echarts全局对象中
  3. 指明geo配置下的type和map属性
  4. 通过zoom放大该区域
  5. 通过center定位中心点

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>echarts地图常见效果</title><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script src="lib/echarts.js"></script>
</head>
<body><!-- 步骤2:准备一个呈现图标的盒子 --><div style="width: 1000px; height: 600px; border:1px solid red;"></div><script>let mCharts = echarts.init(document.querySelector('div'));$.get('./json/map/shanxi.json',(chinaJson)=>{console.log(chinaJson);echarts.registerMap('chinaMap',chinaJson)let option = {geo: {type: 'map',map: 'chinaMap', //chinaMap需要和registerMap中的第一个参数保持一致roam: true, // 设置允许缩放以及拖动的效果label: {show: true  //展示标签},zoom: 1.2, //设置初始化的缩放比例//center: [87.617733,43.792818] //设置地图中心点的坐标 (图为将新疆设置为地图中心点)}}mCharts.setOption(option)})</script>
</body>
</html>
  • 不同城市颜色不同

1.显示基本的中国地图
2.城市的空气质量数据设置给series
3.将series下的数据和geo关联起来
4.结合visualMap配合使用

示例代码如下:

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>echarts地图</title><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script src="lib/echarts.js"></script>
</head>
<body><!-- 步骤2:准备一个呈现图标的盒子 --><div style="width: 1000px; height: 600px; border:1px solid red;"></div><script>let mCharts = echarts.init(document.querySelector('div'));let airData = [{name:'北京市',value:39.93},{name:'天津市',value:39.13},{name:'河北省',value:147},{name:'山西省',value:39},{name:'内蒙古自治区',value:58},{name:'辽宁省',value:50},{name:'吉林省',value:51},{name:'黑龙江省',value:114},{name:'上海市',value:31.23},{name:'江苏省',value:67},{name:'浙江省',value:84},{name:'安徽省',value:117},{name:'福建省',value:29},{name:'江西省',value:96},{name:'山东省',value:92},{name:'河南省',value:113},{name:'湖北省',value:273},{name:'湖南省',value:175},{name:'广东省',value:38},{name:'广西壮族自治区',value:59},{name:'海南省',value:54},{name:'重庆市',value:66},{name:'四川省',value:58},{name:'贵州省',value:71},{name:'云南省',value:25},{name:'西藏自治区',value:24},{name:'陕西省',value:61},{name:'甘肃省',value:99},{name:'青海省',value:57},{name:'宁夏回族自治区',value:52},{name:'新疆维吾尔自治区',value:84},{name:'台湾省',value:88},{name:'香港特别行政区',value:66},{name:'澳门特别行政区',value:77},]$.get('./json/map/china.json',(chinaJson)=>{console.log(chinaJson);echarts.registerMap('chinaMap',chinaJson)let option = {geo: {type: 'map',map: 'chinaMap', //chinaMap需要和registerMap中的第一个参数保持一致roam: true, // 设置允许缩放以及拖动的效果label: {show: true  //展示标签},zoom: 1.2, //设置初始化的缩放比例},series: [{data: airData,geoIndex: 0,  //将空气质量的数据和第0个geo配置关联在一起type:'map',}],visualMap:{min:0,max:300,inRange:{color:['white', 'red'], //控制颜色渐变的范围},calculable: true //出现滑块}}mCharts.setOption(option)})</script>
</body>
</html>
  • 地图和散点图结合

1.给series下增加新的对象
2.准备好散点数据,设置给新对象的data (坐标信息)
3.配置新对象的type
type: effectScatter
4.让散点图使用地图坐标系统
coordinateSystem:'geo'
5.让涟漪的效果增加明显
rippleEffect:{
scale: 10
}

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>echarts地图</title><script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script src="lib/echarts.js"></script>
</head>
<body><!-- 步骤2:准备一个呈现图标的盒子 --><div style="width: 1000px; height: 600px; border:1px solid red;"></div><script>let mCharts = echarts.init(document.querySelector('div'));let scatterData = [{value: [112.549248, 37.857014]},{value:[117.283042, 31.86119]}]let airData = [{name:'北京市',value:39.93},{name:'天津市',value:39.13},{name:'河北省',value:147},{name:'山西省',value:39},{name:'内蒙古自治区',value:58},{name:'辽宁省',value:50},{name:'吉林省',value:51},{name:'黑龙江省',value:114},{name:'上海市',value:31.23},{name:'江苏省',value:67},{name:'浙江省',value:84},{name:'安徽省',value:117},{name:'福建省',value:29},{name:'江西省',value:96},{name:'山东省',value:92},{name:'河南省',value:113},{name:'湖北省',value:273},{name:'湖南省',value:175},{name:'广东省',value:38},{name:'广西壮族自治区',value:59},{name:'海南省',value:54},{name:'重庆市',value:66},{name:'四川省',value:58},{name:'贵州省',value:71},{name:'云南省',value:25},{name:'西藏自治区',value:24},{name:'陕西省',value:61},{name:'甘肃省',value:99},{name:'青海省',value:57},{name:'宁夏回族自治区',value:52},{name:'新疆维吾尔自治区',value:84},{name:'台湾省',value:88},{name:'香港特别行政区',value:66},{name:'澳门特别行政区',value:77},]$.get('./json/map/china.json',(chinaJson)=>{console.log(chinaJson);echarts.registerMap('chinaMap',chinaJson)let option = {geo: {type: 'map',map: 'chinaMap', //chinaMap需要和registerMap中的第一个参数保持一致roam: true, // 设置允许缩放以及拖动的效果label: {show: true  //展示标签},zoom: 1.2, //设置初始化的缩放比例},series: [{data: airData,geoIndex: 0,  //将空气质量的数据和第0个geo配置关联在一起type:'map',},{type: 'effectScatter',data: scatterData, //配置散点的坐标数据coordinateSystem:'geo', //指明散点使用的坐标系统  geo的坐标系统rippleEffect:{scale: 10}}],visualMap:{min:0,max:300,inRange:{color:['white', 'red'], //控制颜色渐变的范围},calculable: true //出现滑块}}mCharts.setOption(option)})</script>
</body>
</html>

地图特点

  • 地图主要可以帮助我们从宏观的角度快速看出不同地理位置上数据的差异

数据可视化-echarts地图相关推荐

  1. Echarts数据可视化series-map地图,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...

  2. Echarts数据可视化echarts实例的相关操作,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...

  3. 数据可视化-echarts入门、常见图表案例、超详细配置解析及项目案例

    文章目录 数据可视化-echarts入门.常见图表案例及项目案例 一.简介 一.数据可视化简介 二.echarts简介 三.echarts特点 四.ZRender介绍 二.Echarts的基本使用 一 ...

  4. echarts 折线图 设置y轴最小刻度_数据可视化—Echarts图表应用

    <错误>郑愁予 我打江南走过, 那等在季节里的容颜如莲花的开落,东风不来,三月的柳絮不飞.你的心如小小寂寞的城,恰若青石的街道向晚.蛩音不响,三月的春帷不揭,你的心是小小的窗扉紧掩.我达达 ...

  5. 数据可视化Echarts使用

    github地址:https://github.com/minmin233/LearnEcharts 学习目的 可视化面板布局适配屏幕 利用Echarts实现柱状图,折线图,饼状图,地图展示 数据可视 ...

  6. Django博客来访人员地域分布大数据可视化---echarts绘图、geoip2获取地理位置

    文章目录 Django博客来访人员地域分布大数据可视化---echarts绘图.geoip2获取地理位置 效果 echarts作图 geoip2获取地理位置 api接口开发 ajax前后端动态交互 D ...

  7. 数据可视化ECharts的七大常用图表,看完就会用(1)

    本文的后半部分:数据可视化ECharts的常用图表,看完就会用(2) 文章目录 数据可视化 什么是数据可视化? 数据可视化的好处 数据可视化的实现方式 ECharts ECharts的特性 一个ECh ...

  8. 数据分析---疫情数据可视化(地图)

    数据分析---疫情数据可视化(地图) 安装pyecharts库 爬取所需要的数据(网上直接爬取数据) 绘制全国地图 绘制省份地图(以湖北省为例) 在全国地图上加入湖北省数据 导入数据(本地导入数据) ...

  9. H5数据可视化(高德地图绘制行政区)

    1.高德地图可视化项目搭建 参考我的上篇文章完成基本搭建:H5数据可视化(高德地图构建项目) 2.使用高德行政区查询 该部分主要参照官方教程即可,其中使用行政区划查询服务前要先引入该插件,具体的引入方 ...

最新文章

  1. Android每周一个学习计划——RxJava2 0的学习使用
  2. python解释器是什么-python的解释器是什么?
  3. equals方法和==的区别--用实例简单说明
  4. mysql.connector写了一个简单的mysql操作类:
  5. 源码 状态机_[源码阅读] 阿里SOFA服务注册中心MetaServer(1)
  6. 怎么关闭电脑开机自动启动的程序_软件自动开启很烦人?如何彻底关掉Mac电脑开机自动开启的应用程序?...
  7. win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)...
  8. HDU1052 田忌赛马 贪心
  9. c++ 函数参数问题
  10. 去除标题_1688如何通过黄金标题引爆流量?
  11. word 转换pdf 插件
  12. node 后台重定向_Node.js如何实现重定向
  13. 优化计算机组策略,windows系统优化--使你的计算机飞起来
  14. 服务器开发系列(四)——网络基础
  15. 关于以太网IO模块如何选型
  16. python poisson图像融合制作CSDN博客头像
  17. hall 状态下,禁用指纹解锁
  18. 世系是家谱的核心,编修家谱过程中我们应该如何编写世系图
  19. 如何找到股市某一行业中最优质的股票--通过Python和Tushare编程实现
  20. smartdeblur有手机版吗_SmartDeblur官方版下载_SmartDeblur2.3 官方版 - Win7旗舰版

热门文章

  1. sklearn 绘制roc曲线_sklearn——逻辑回归、ROC曲线与KS曲线
  2. ADRC学习心得(持续更新)
  3. 基于Java毕业设计材料提交管理系统源码+系统+mysql+lw文档+部署软件
  4. matlab 赋值6,Matlab循环赋值问题
  5. ubuntu18.04下--CMake教程
  6. 电话信号音标准及解释
  7. 喜茶与《梦华录》跨界联名,论各大饮品如何抢占营销 C 位?
  8. Linux高阶命令使用
  9. 安装centos7操作系统,安装界面在选择语言时卡主
  10. Idea项目打jar包,cmd进入指定目录启动项目