对于ECharts3.0迁徙图的部分配置记录
来源:互联网 发布:卖好看的书包的淘宝店 编辑:程序博客网 时间:2024/05/16 17:20
业务需求,需要地区的地图背景,以及需要对交流的频率使用不同的颜色标注,预研阶段,比较丑,但是主要的功能还是实现了,备忘。
<!DOCTYPE html><html><head> <title>迁徙图</title></head><body><div id="container" style="height: 1100px;width: 1400px;"></div><script src="js/echarts.min.js"></script><script src="js/ddk.js"></script><script type="text/javascript"> var dom = document.getElementById("container"); var myChart = echarts.init(dom); var geoCoordMap = { '育才小学':[106.487632,29.486692], '跳瞪小学': [106.44258,29.404382], '马王小学':[106.491697,29.49302], '晋愉绿岛':[106.466861,29.485048], '钢花小学':[106.484382,29.465458], '乌龟石':[106.411681,29.396306], '绿地城':[106.49608,29.418906], '采石场':[106.407561,29.347688], '梅子湾':[106.463351,29.392567] }; var BJData = [ [{name: '育才小学'}, {name: '跳瞪小学',value: 90}], [{name: '育才小学'}, {name: '马王小学',value: 70}], [{name: '育才小学'}, {name: '晋愉绿岛',value:40}], [{name: '育才小学'}, {name: '钢花小学',value:20}] ]; var SHData = [ [{name: '跳瞪小学'}, {name: '乌龟石',value: 90}], [{name: '跳瞪小学'}, {name: '绿地城',value: 60}], [{name: '跳瞪小学'}, {name: '梅子湾',value:70}], [{name: '跳瞪小学'}, {name: '育才小学',value:40}], [{name: '跳瞪小学'}, {name: '采石场',value:10}] ]; //自定义图标路径 var iconPath = '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[1].name]; var toCoord = geoCoordMap[dataItem[0].name]; if (fromCoord && toCoord) { res.push({ fromName: dataItem[1].name, toName: dataItem[0].name, numValue: dataItem[1].value, coords: [fromCoord, toCoord] }); } } return res; }; var color = ['#46bee9','gold']; var color1 = ['#ff3333','orange','lime','aqua']; var series = []; [['育才小学', BJData],['跳瞪小学', SHData]].forEach(function(item, i) { series.push({ name: item[1], type: 'lines', zlevel: 1, effect: { show: true, period: 6, trailLength: 0.7, color: '#fff', symbolSize: 4 }, label: { normal: { show: true, position: 'right', formatter: '{b}' } }, lineStyle: { normal: { color: function(params){ var num = params.data.numValue; if(num>75){ return color1[0]; }else if(num>50){ return color1[1]; }else if(num>25){ return color1[2]; }else{ return color1[3]; } }, width: 1, curveness: 0.2 } }, data: convertData(item[1]) }, { name: item[0].name,//这个写成这样可以实现**>**的这种效果 type: 'lines', zlevel: 2, effect: { show: true, period: 6, trailLength: 0, symbol: iconPath, symbolSize: 30 }, itemStyle: { normal: { borderWidth: 1, lineStyle: { type: 'solid', shadowBlur: 10 } } }, lineStyle: { normal: { color: function(params){ var num = params.data.numValue; if(num>75){ return color1[0]; }else if(num>50){ return color1[1]; }else if(num>25){ return color1[2]; }else{ return color1[3]; } }, width: 1, opacity: 0.9, curveness: 0.2 } }, data: convertData(item[1]) }, { name: item[0], type: 'effectScatter', coordinateSystem: 'geo', zlevel: 2, rippleEffect: { brushType: 'stroke' }, label: { normal: { show: true, position: 'right', formatter: '{b}' } }, symbolSize: function (val) { return val[2] / 8; }, itemStyle: { normal: { color: function(params){ var str = params.value; var num = str[2]; if(num>75){ return color1[0]; }else if(num>50){ return color1[1]; }else if(num>25){ return color1[2]; }else{ return color1[3]; } } } }, data: item[1].map(function (dataItem) { return { name: dataItem[1].name, value: geoCoordMap[dataItem[1].name].concat([dataItem[1].value]) }; }) }); }); option = { backgroundColor: '#404a59', title: { text: '', subtext: '', left: 'center', textStyle: { color: '#fff' } }, tooltip: { trigger: 'item' }, /*dataRange: { min: 0, max: 100, calculable: true, color: ['#ff3333', 'orange', 'yellow', 'lime', 'aqua'], textStyle: { color: '#fff' } },*/ legend: { orient: 'vertical', top: 'bottom', left: 'right', data: [], textStyle: { color: '#fff' }, selectedMode: 'single' }, geo: { map: 'ddk', label: { emphasis: { show: false } }, roam: true, itemStyle: { normal: { areaColor: '#323c48', borderColor: '#404a59' }, emphasis: { areaColor: '#2a333d' } } }, series: series }; if (option && typeof option === "object") { myChart.setOption(option, true); }</script></body></html>
阅读全文
0 0
- 对于ECharts3.0迁徙图的部分配置记录
- create-react-app 结合百度地图和Echarts3.0迁徙图
- FCKeidtor部分配置的记录
- ECharts3.0 强大的统计图
- 关于echarts3总chinamap的配置问题
- 基于SuperMap的Echarts迁徙图
- 关于echarts3.0散点图的一点封装
- echarts3各种配置项
- echarts3.x实用配置
- echarts3.0之关系图详解
- 一场新的迁徙
- ECharts迁徙图
- remapB绘制迁徙图
- echarts制作迁徙图
- ECharts3.0折线图------------手把手教你每一项的样式设计
- ECharts3.0饼状(环形图)------------手把手教你每一项的样式设计
- ECharts3.0饼状(环形图)之二------------手把手教你每一项的样式设计
- 基于SpringMVC框架使用ECharts3.0实现折线图,柱状图,饼状图,的绘制(上篇)
- 高并发接口压测
- Java变量的初始化问题探究
- javaweb分层思想
- unity改变物体大小的两种方式
- spring-boot笔记-静态资源及页面开发(六)
- 对于ECharts3.0迁徙图的部分配置记录
- 数组中出现次数超过一半的数字
- NotePad++常用快捷键
- HANA Text Analysis功能
- git命令使用
- Python下载安装的几种方式
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
- kaldi 安装ubuntu 16.04
- 给css样式定义排序