前言

echarts官方之前有一个案例geo-lines,但在新版本中似乎被剔除了

根据代码学习了一下echarts,只为看看效果,所以数据简化了,并对代码做了注释

数据

迁徙数据:高德地图迁徙数据

GeoJSON数据:http://datav.aliyun.com/tools/atlas/

注意:由于echarts之前提供的china.js数据不符合规定,现在下载不了了,所以使用高德的全国json数据,使用 echarts.registerMap 注册数据

https://echarts.apache.org/zh/download-map.html

代码

需要的js文件:① echarts.js  ② jquery.js

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>模拟迁徙图</title><script src="./js/echarts.js"></script><script src="./js/jquery-1.11.3.min.js"></script><style>#main{height: 700px;}</style>
</head><body><div id='main'></div><script type="text/javascript">var geoCoordMap = {'石家庄': [114.4995, 38.1006],'哈尔滨': [127.9688, 45.368],'杭州': [119.5313, 29.8773],'广州': [113.5107, 23.2196],'武汉': [114.3896, 30.6628],'南昌': [116.0046, 28.6633],'长沙': [113.0823, 28.2568],'西安': [109.1162, 34.2004],'上海': [121.4648, 31.2891],'天津': [117.4219, 39.4189],'重庆': [107.7539, 30.1904],};var GZData = [[{ name: '广州' }, { name: '上海', value: 95 }],[{ name: '广州' }, { name: '重庆', value: 90 }],[{ name: '广州' }, { name: '长沙', value: 80 }],[{ name: '广州' }, { name: '杭州', value: 70 }],[{ name: '广州' }, { name: '石家庄', value: 60 }],[{ name: '广州' }, { name: '哈尔滨', value: 50 }],[{ name: '广州' }, { name: '南昌', value: 40 }],[{ name: '广州' }, { name: '天津', value: 30 }],[{ name: '广州' }, { name: '武汉', value: 20 }],[{ name: '广州' }, { name: '西安', value: 10 }]];// var planePath = 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z';var convertData = function(data) {var res = [];for (var i = 0; i < data.length; i++) {var dataItem = data[i];var fromCoord = geoCoordMap[dataItem[0].name];var toCoord = geoCoordMap[dataItem[1].name];if (fromCoord && toCoord) {res.push({fromName: dataItem[0].name,toName: dataItem[1].name,coords: [fromCoord, toCoord]});}}return res;};var color = ['#7bbfea'];var series = [];[['广州', GZData],].forEach(function(item, i) {series.push({name: item[0] + ' Top10',type: 'lines',zlevel: 1,//symbol: ['none', 'arrow'],//symbolSize: 10,effect: {show: true,period: 4, // 特效动画的时间trailLength: 0.3, // 特效尾迹的长度。取从 0 到 1 的值,默认为 0.2,数值越大尾迹越长color: '#fff',// symbol: planePath, // 特效图形的标记symbolSize: 3},lineStyle: {normal: {color: color[i],width: 1,opacity: 0.6,curveness: 0.2}},data: convertData(item[1])}, {name: item[0] + ' Top10',type: 'effectScatter',coordinateSystem: 'geo',zlevel: 1,rippleEffect: {brushType: 'stroke'},label: {normal: {show: true,position: 'right',formatter: '{b}',textStyle: {fontSize: 9,color: '#fff'}}},symbolSize: function(val) {return val[2] / 12;},itemStyle: {normal: {color: color[i]}},data: item[1].map(function(dataItem) {//console.log(dataItem[1].name, geoCoordMap[dataItem[1].name])return {name: dataItem[1].name,value: geoCoordMap[dataItem[1].name].concat([dataItem[1].value])};})});});option = {title: {text: '迁徙图',left: 'center',textStyle: {color: 'black'}},// tooltip: { // 鼠标悬浮时显示的提示框//     trigger: 'item', //触发类型:1.'item'数据项图形触发 2.'axis'坐标轴触发// },geo: {map: 'alichina', // 与注册的地图名一致center: [108.114129, 28.550339],label: {// normal:{//     show: true, // 加载时是否显示各feature的name// }emphasis: {show: true,  // 鼠标移动到feature上时是否显示各feature的nametextStyle: {fontSize: 9,color: '#000'}}},roam: true, // 开启鼠标缩放和平移漫游itemStyle: {normal: { // 加载时的样式areaColor: '#323c48',//opacity: 0.4,borderColor: '#404a59'},emphasis: { // 当鼠标移动到其上时的响应操作areaColor: '#d3d7d4',borderColor: '#fff',borderWidth: 4,}}},series: series};$.get('./data/china.json', function (jsonData) {echarts.registerMap('alichina', jsonData);var chart = echarts.init(document.getElementById('main'));chart.setOption(option);});</script>
</body></html>

效果

BUG

Cannot read property 'concat' of undefined

API查询

echarts —— tooltip

echarts线图的特效effect

参考

LeaFlet迁徙图的制作

echarts模拟迁徙图

echarts map地图设置外边框或者阴影

echarts:迁徙图相关推荐

  1. Echarts迁徙图

    Echarts迁徙图 "echarts": "^5.1.1", 在node_modules中找到echarts创建map/js/.china.js /* * L ...

  2. html怎么绘制飞线,绘制飞线,echarts迁徙图原理

    其实是在元素上绘制了一条线,然后利用canvas 的createLinearGradient函数不断移动线段的样式位置来实现. 因此首先绘制线段 ctx.beginPath(); ctx.moveTo ...

  3. echarts迁徙图 vue_vue中高德搭配echarts做数据迁徙流线图

    前言 此系列共分为以下几篇 <vue中高德地图的使用> <vue中基于高德的多行政区域覆盖> <vue中高德搭配echarts做数据迁徙流线图> (本篇) 本篇效果 ...

  4. ArcGIS底图+eCharts 迁徙图图显示与隐藏

    通过使用Echarts3Layer.js扩展,可以实现在ArcGIS底图上添加eCharts图表,可以简单得到比ArcGIS API for JS更好的效果. 一般的eCharts图表可以通过clea ...

  5. echarts迁徙图 vue_【可视化插件】Vue项目中Echarts流向图迁徙图实现

    public render() { //图表绘制方法 this.chart.clear(); const isMock = !this.items.length; const items = isMo ...

  6. Echarts 开发静态数据模拟实现迁徙图步骤详解

    文章目录 一.前言 二.先来看看百度迁徙图 三.Echarts 实现迁徙图基本步骤 第一步:引入Echarts.js及相关JS 第二步:为ECharts准备一个Dom 第三步:基于Dom初始化echa ...

  7. python画人口迁徙图_echarts 手把手教你画迁徙图(城市内部级别+百度地图支持)2...

    最近要做一个上海的迁徙图,搜到的都是 echarts 和mapv一样,有自己的API说明和demo 形式上非常相近,而且看起来功能比mapv更加完善. 另外是滴滴的一个蝌蚪迁徙图,看起来是真实轨迹的模 ...

  8. Echarts4+EchartsGL 3D迁徙图(附源码)

    最近遇到些Echarts迁徙图问题,在实现二维地图的迁徙图后开始开发3D迁徙图,在网上一查,发现3D版本迁徙图资料较少,自己研究并借鉴一些资料后写了一个小demo,希望能帮大家少走些弯路,共同学习. ...

  9. Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图(带炫光特效)

    场景 Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图: Leaflet中使用leaflet-echarts插件实现Echarts的Migration ...

  10. Leaflet中使用leaflet-echarts插件实现Echarts的Migration迁徙图

    场景 Leaflet快速入门与加载OSM显示地图: Leaflet快速入门与加载OSM显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 Leaflet有很多插件,比如地图上显示Ec ...

最新文章

  1. 《数据结构》学习笔记一:绪论
  2. python list_Python中的基本list操作
  3. MVC项目开发中那些用到的知识点(Asp.Net Mvc3.0 Areas)
  4. AIX进程监控与管理
  5. SAP Cloud for Customer和SAP S4HANA的Customer - Business partner
  6. a标签点击跳转失效--IE6、7的奇葩bug
  7. 编程基础 之 位运算专题
  8. 准备用于AI人脸识别的数据集
  9. [RK3288][Android6.0] 系统按键驱动流程分析【转】
  10. PointTrackNet:一种用于点云三维目标检测和跟踪的端到端网络
  11. [ACM训练] 算法初级 之 搜索算法 之 广度优先算法BFS (POJ 3278+1426+3126+3087+3414)
  12. dc dc变换器的建模及matlab仿真,巧用Matlab仿真DC—DC变换器
  13. 基于AIML2.0写一个机器人
  14. Windows 超级终端设置
  15. Java数组怎么传给形参_在Java程序中,如果方法的形参是数组,则调用该方法时传递的是数组的...
  16. 计算机软件系统崩溃,系统崩溃,解决系统崩溃的方法全集
  17. PyPDF2读取PDF文件内容保存到本地TXT
  18. 数位dp算法——洛谷p1980
  19. “泰迪杯”挑战赛 - 通过Java实现中央空调系统的数据分析与控制策略
  20. 【BZOJ4548】小奇的糖果

热门文章

  1. 差分探头和隔离探头有什么区别
  2. 空间频率 MTF和 SFR
  3. 一个免费、大小仅几MB但超好用的卸载工具——Geek Uninstaller
  4. MotoSimEG-VRC软件:安川机器人摆动焊接虚拟仿真操作方法
  5. 光洋PLC以太网通讯数据采集解决方案
  6. yolov4 火焰检测 火焰识别 代码 数据集 开源
  7. 包含所有的计算机视频教程
  8. 全国地区 mysql表_2017全国省市区数据库-2017全国省市区数据库下载 官方版 - 河东下载站...
  9. 大话开发板技术支持——在www.ouravr.com上看到一个老兄对一个开发板淘宝代理提出控诉之后...
  10. C语言及程序设计概述