温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript用数据可视化ECharts制作地图实例分享

发布时间:2021-08-31 20:01:45 阅读:436 作者:chen 栏目:开发技术
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要讲解了“JavaScript用数据可视化ECharts制作地图实例分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript用数据可视化ECharts制作地图实例分享”吧!

目录
  • 概述

  • 注意事项

    • 一. 使用方式

    • 二. 实现步骤

  • 初步实现代码

    • 效果:

      • geo常见配置

        • 添加上面配置之后的效果图:

          • 显示某一个省份(河南省)

            • 效果

              • 不同区域显示不同颜色

                • 地图和散点图的结合

                  概述

                  地图在我们日常的数据可视化分析中是很常见的一种展示手段,不仅美观而且很大气。尤其是在大屏展示中更是扮演着必不可缺的角色

                  注意事项

                  一. 使用方式

                  1.百度地图API(高德地图API)

                  • 需要申请百度API

                  2.矢量地图

                  • 需要准备矢量地图数据

                  二. 实现步骤

                  1.ECharts最基本的代码结构

                  引入js文件–DOM容器–初始化对象–设置option

                  2.准备中国的矢量地图json文件,放到json/map/的目录下

                  3.使用Ajax获取china.json

                  //
                  $get('json/map/china.json',function (chinaJson{})

                  4.在回调函数中往echarts全局对象注册地图的json数据

                  echarts.registerMap('chinaMap',chinaJson)

                  5.在geo下设置

                  {
                      type:'map',
                      map:'chinaMap'
                  }

                  初步实现代码

                  <!DOCTYPE html>
                  <html lang="en">
                  <head>
                      <meta charset="UTF-8">
                      <meta http-equiv="X-UA-Compatible" content="IE=edge">
                      <meta name="viewport" content="width=device-width, initial-scale=1.0">
                      <title>地图的实现</title>
                      <script src="./lib/echarts.min.js"></script>
                      <script src="./lib/jquery.min.js"></script>
                  </head>
                  <body>
                      <div ></div>
                      <script>
                          var myCharts = echarts.init(document.querySelector('div'))
                          $.get('./json/map/china.json'function (chinaJson) {
                              // chinaJson 就是中国的各个省份的矢量地图数据
                              // console.log(chinaJson);
                              // 注册地图数据
                              echarts.registerMap('chinaMap',chinaJson)
                              var option = {
                                  geo:{
                                      type'map',
                                      //chinaMap需要和registerMap中的第一个参数保持一致
                                      map'chinaMap'
                                  }
                              }
                              myCharts.setOption(option)
                          })
                      </script>
                  </body>
                  </html>

                  返回数据chinaJson在浏览器后台输出截图:

                  JavaScript用数据可视化ECharts制作地图实例分享

                  我们展开某一省份看一下(以台湾省为例):

                  JavaScript用数据可视化ECharts制作地图实例分享

                  效果:

                  JavaScript用数据可视化ECharts制作地图实例分享

                  geo常见配置

                  允许缩放和拖拽效果

                  roam: true

                  名称显示

                  label{
                  show:true
                  }

                  初始缩放比例

                  zoom: 1.2

                  设置地图中心点的坐标

                  // 这个坐标点在我们返回的数据里是可以拿到的
                  center: [121.509062, 25.044332]

                  添加上面配置之后的效果图:

                  JavaScript用数据可视化ECharts制作地图实例分享

                  显示某一个省份(河南省)

                  这里没什么好说的,就是把矢量地图数据由原来的全国换成河南就好

                  PS:款哥是河南的,所以用了河南省举例

                  <!DOCTYPE html>
                  <html lang="en">
                  <head>
                      <meta charset="UTF-8">
                      <meta http-equiv="X-UA-Compatible" content="IE=edge">
                      <meta name="viewport" content="width=device-width, initial-scale=1.0">
                      <title>地图-某一区域的展示</title>
                      <script src="./lib/echarts.min.js"></script>
                      <script src="./lib/jquery.min.js"></script>
                  </head>
                  <body>
                      <div ></div>
                      <script>
                          var myCharts = echarts.init(document.querySelector('div'))
                          $.get('json/map/henan.json',(ret) => {
                              echarts.registerMap('henanMap', ret)
                              console.log(ret);
                              var option = {
                                  geo:{
                                      type:'map',
                                      map:'henanMap',
                                      zoom1,
                                      label: {
                                          showtrue
                                      },
                                      center: [115.65049734.437054],
                                      roamtrue
                                  }
                              }
                              myCharts.setOption(option)
                          })
                      </script>
                  </body>
                  </html>

                  效果

                  JavaScript用数据可视化ECharts制作地图实例分享

                  不同区域显示不同颜色

                  1.显示基本的中国地图

                  2.将空气质量的数据设置给series下的对象

                  3.将series下的数据和geo关联起来

                  4.配置visualMap

                  注意:这里我们需要准备一个数组,这个数组里面是一个一个对象,每个对象有两个key值name对应省份名称,value对应的是颜色值

                  先看下效果图是不是很熟悉:

                  JavaScript用数据可视化ECharts制作地图实例分享

                  类似于我们的新冠数据图就是大致这个效果,疫情远没有结束,大家一定不要掉以轻心,积极接种疫苗,做好日常防护

                  代码如下,注释也比较详细,就不一一解读了

                  <!DOCTYPE html>
                  <html lang="en">
                  <head>
                      <meta charset="UTF-8">
                      <meta http-equiv="X-UA-Compatible" content="IE=edge">
                      <meta name="viewport" content="width=device-width, initial-scale=1.0">
                      <title>地图的实现</title>
                      <script src="./lib/echarts.min.js"></script>
                      <script src="./lib/jquery.min.js"></script>
                  </head>
                  <body>
                      <div ></div>
                      <script>
                          /**
                           * 1.显示基本的中国地图
                           * 2.将空气质量的数据设置给series下的对象
                           * 3.将series下的数据和geo关联起来
                           * 4.配置visualMap
                           */
                          var airData = [
                              { name'北京'value39.92 },
                              { name'天津'value39.13 },
                              { name'上海'value31.22 },
                              { name'重庆'value66 },
                              { name'河北'value147 },
                              { name'河南'value113 },
                              { name'云南'value25.04 },
                              { name'辽宁'value50 },
                              { name'黑龙江'value114 },
                              { name'湖南'value175 },
                              { name'安徽'value117 },
                              { name'山东'value92 },
                              { name'新疆'value84 },
                              { name'江苏'value67 },
                              { name'浙江'value84 },
                              { name'江西'value96 },
                              { name'湖北'value273 },
                              { name'广西'value59 },
                              { name'甘肃'value99 },
                              { name'山西'value39 },
                              { name'内蒙古'value58 },
                              { name'陕西'value61 },
                              { name'吉林'value51 },
                              { name'福建'value29 },
                              { name'贵州'value71 },
                              { name'广东'value38 },
                              { name'青海'value57 },
                              { name'西藏'value24 },
                              { name'四川'value58 },
                              { name'宁夏'value52 },
                              { name'海南'value54 },
                              { name'台湾'value88 },
                              { name'香港'value66 },
                              { name'澳门'value77 },
                              { name'南海诸岛'value55 }
                          ]
                          var myCharts = echarts.init(document.querySelector('div'))
                          $.get('./json/map/china.json'function (chinaJson) {
                              echarts.registerMap('chinaMap',chinaJson)
                              var option = {
                                  geo:{
                                      type'map',
                                      //chinaMap需要和registerMap中的第一个参数保持一致
                                      map'chinaMap',
                                      // 允许缩放和拖拽效果
                                      roamtrue,
                                      // 名称显示
                                      label:{
                                          showtrue
                                      }
                                  },
                                  series: [
                                      {
                                          type'map',
                                          data: airData,
                                          geoIndex0 //将空气质量的数据与第0个geo的配置关联起来
                                      }
                                  ],
                                  visualMap: {
                                      min0,
                                      max300,
                                      inRange: {
                                          // 控制颜色渐变的范围
                                          color: ['#fff''#f00']
                                      },
                                      // 出现滑块
                                      calculabletrue
                                  }
                              }
                              myCharts.setOption(option)
                          })
                      </script>
                  </body>
                  </html>

                  地图和散点图的结合

                  1.就是给上面的代码基础上,series添加下面这段配置

                  {
                       data: scatterData,  //配置散点的坐标数据
                       type'effectScatter',
                       coordinateSystem: 'geo'//指明散点使用的坐标系统  geo的坐标系统
                       rippleEffect: {
                            scale: 10  //设置涟漪动画的缩放比例
                       }
                  }

                  效果图:

                  JavaScript用数据可视化ECharts制作地图实例分享

                  感谢各位的阅读,以上就是“JavaScript用数据可视化ECharts制作地图实例分享”的内容了,经过本文的学习后,相信大家对JavaScript用数据可视化ECharts制作地图实例分享这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

                  亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

                  向AI问一下细节

                  免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

                  AI

                  开发者交流群×