此echarts图只是用于示例,记录在此,只是为方便以后可能需要用到做参考。具体数据部分,部分代码不够严整,就不在考虑范围了,毕竟这种较为复杂的图形用的也不多。
// 地图数据
var chinaDataURL = “/asset/get/s/data-1517645039291-B1vgpymUz.json”;
//坐标
var geoCoordMap = {
‘上海’: [119.1803, 31.2891],
“福建”: [119.4543, 25.9222],
“重庆”: [108.384366, 30.439702],
‘北京’: [116.4551, 40.2539],
“辽宁”: [123.1238, 42.1216],
“河北”: [114.4995, 38.1006],
“天津”: [117.4219, 39.4189],
“山西”: [112.3352, 37.9413],
“陕西”: [109.1162, 34.2004],
“甘肃”: [103.5901, 36.3043],
“宁夏”: [106.3586, 38.1775],
“青海”: [101.4038, 36.8207],
“新疆”: [87.9236, 43.5883],
“西藏”: [91.11, 29.97],
“四川”: [103.9526, 30.7617],
“吉林”: [125.8154, 44.2584],
“山东”: [117.1582, 36.8701],
“河南”: [113.4668, 34.6234],
“江苏”: [118.8062, 31.9208],
“安徽”: [117.29, 32.0581],
“湖北”: [114.3896, 30.6628],
“浙江”: [119.5313, 29.8773],
‘内蒙古’: [110.3467, 41.4899],
“江西”: [116.0046, 28.6633],
“湖南”: [113.0823, 28.2568],
“贵州”: [106.6992, 26.7682],
“云南”: [102.9199, 25.4663],
“广东”: [113.12244, 23.009505],
“广西”: [108.479, 23.1152],
“海南”: [110.3893, 19.8516],
‘黑龙江’: [127.9688, 45.368],
‘台湾’: [121.4648, 25.5630]
};
var data=[
{name:“宁夏”,value:“250021”},
{name:“新疆”,value:“452001”},
{name:“广东”,value:“550021”},
{name:“广西”,value:“258821”},
{name:“海南”,value:“457721”},
{name:“山东”,value:“521990”},
{name:“河南”,value:“521990”},
{name:“湖北”,value:“521990”},
{name:“湖南”,value:“212100”},
{name:“天津”,value:“1119938”},
{name:“河北”,value:“719938”},
{name:“浙江”,value:“521990”},
{name:“安徽”,value:“521990”},
{name:“福建”,value:“521990”},
{name:“江西”,value:“521990”},
{name:“山西”,value:“819938”},
{name:“内蒙古”,value:“919938”},
{name:“重庆”,value:“322100”},
{name:“四川”,value:“252100”},
{name:“贵州”,value:“252100”},
{name:“云南”,value:“252100”},
{name:“西藏”,value:“252001”},
{name:“陕西”,value:“450021”},
{name:“甘肃”,value:“450021”},
{name:“青海”,value:“350021”},
{name:“辽宁”,value:“619938”},
{name:“吉林”,value:“719938”},
{name:“黑龙江”,value:“919938”},
{name:“上海”,value:“1019938”},
{name:“江苏”,value:“521990”}
]
//series数据
var capital=[
{name:“宁夏”,value:[{name:“时间”,value:“20170303”},{name:“数值”,value:“250021”},{name:“类型”,value: “资金”},{name:“程度”,value:“轻微”}]},
{name:“新疆”,value:[{name:“时间”,value:“20170302”},{name:“数值”,value:“452001”},{name:“类型”,value:“资金”},{name:“程度”,value:“轻微”}]},
{name:“广东”,value:[{name:“时间”,value:“20170301”},{name:“数值”,value:“550021”},{name:“类型”,value: “资金”},{name:“程度”,value:“轻微”}]},
{name:“广西”,value:[{name:“时间”,value:“20170325”},{name:“数值”,value:“258821”},{name:“类型”,value:“资金”},{name:“程度”,value:“轻微”}]},
{name:“海南”,value:[{name:“时间”,value:“20170315”},{name:“数值”,value:“457721”},{name:“类型”,value: “资金”},{name:“程度”,value:“轻微”}]},
{name:“山东”,value:[{name:“时间”,value:“20180316”},{name:“数值”,value:“521990”},{name:“类型”,value: “资金”},{name:“程度”,value:“一般”}]},
{name:“河南”,value:[{name:“时间”,value:“20180315”},{name:“数值”,value:“521990”},{name:“类型”,value:“资金”},{name:“程度”,value:“一般”}]},
{name:“湖北”,value:[{name:“时间”,value:“20180314”},{name:“数值”,value:“521990”},{name:“类型”,value:“资金”},{name:“程度”,value:“一般”}]},
{name:“湖南”,value:[{name:“时间”,value:“20180313”},{name:“数值”,value:“212100”},{name:“类型”,value:“资金”},{name:“程度”,value:“轻微”}]},
{name:“天津”,value:[{name:“时间”,value:“20190305”},{name:“数值”,value:“1119938”},{name:“类型”,value:“资金”},{name:“程度”,value:“严重”}]},
{name:“河北”,value:[{name:“时间”,value:“20190205”},{name:“数值”,value:“719938”},{name:“类型”,value:“资金”},{name:“程度”,value:“严重”}]}]
var manage=[
{name:“浙江”,value:[{name:“时间”,value:“20180320”},{name:“数值”,value:“521990”},{name:“类型”,value:“管理”},{name:“程度”,value:“一般”}]},
{name:“安徽”,value:[{name:“时间”,value:“20180319”},{name:“数值”,value:“521990”},{name:“类型”,value: “管理”},{name:“程度”,value: “一般”}]},
{name:“福建”,value:[{name:“时间”,value:“20180318”},{name:“数值”,value:“521990”},{name:“类型”,value:“管理”},{name:“程度”,value:“一般”}]},
{name:“江西”,value:[{name:“时间”,value:“20180317”},{name:“数值”,value:“521990”},{name:“类型”,value:“管理”},{name:“程度”,value:“一般”}]},
{name:“山西”,value:[{name:“时间”,value:“20190105”},{name:“数值”,value:“819938”},{name:“类型”,value: “管理”},{name:“程度”,value: “严重”}]},
{name:“内蒙古”,value:[{name:“时间”,value:“20180326”},{name:“数值”,value:“919938”},{name:“类型”,value:“管理”},{name:“程度”,value:“严重”}]}]
var person=[
{name:“重庆”,value:[{name:“时间”,value:“20180312”},{name:“数值”,value:“322100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“四川”,value:[{name:“时间”,value:“20180311”},{name:“数值”,value:“252100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“贵州”,value:[{name:“时间”,value:“20180310”},{name:“数值”,value:“252100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“云南”,value:[{name:“时间”,value:“20170309”},{name:“数值”,value:“252100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“西藏”,value:[{name:“时间”,value:“20170308”},{name:“数值”,value:“252001”},{name:“类型”,value:“人员”},{name:“程度”,value: “轻微”}]},
{name:“陕西”,value:[{name:“时间”,value:“20170307”},{name:“数值”,value:“450021”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“甘肃”,value:[{name:“时间”,value:“20170306”},{name:“数值”,value:“450021”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“青海”,value:[{name:“时间”,value:“20170304”},{name:“数值”,value:“350021”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]}]
var weather = [
{name:“辽宁”,value:[{name:“时间”,value:“20180325”},{name:“数值”,value:“619938”},{name:“类型”,value: “天气”},{name:“程度”,value: “严重”}]},
{name:“吉林”,value:[{name:“时间”,value:“20180324”},{name:“数值”,value:“719938”},{name:“类型”,value:“天气”},{name:“程度”,value: “严重”}]},
{name:“黑龙江”,value:[{name:“时间”,value:“20180323”},{name:“数值”,value:“919938”},{name:“类型”,value:“天气”},{name:“程度”,value:“严重”}]},
{name:“上海”,value:[{name:“时间”,value:“20180322”},{name:“数值”,value:“1019938”},{name:“类型”,value:“天气”},{name:“程度”,value:“严重”}]},
{name:“江苏”,value:[{name:“时间”,value:“20180321”},{name:“数值”,value:“521990”},{name:“类型”,value:“天气”},{name:“程度”,value:“一般”}]}]
var data = [
{name:“天津”,value:[{name:“时间”,value:“20190305”},{name:“数值”,value:“1119938”},{name:“类型”,value:“资金”},{name:“程度”,value:“严重”}]},
{name:“河北”,value:[{name:“时间”,value:“20190205”},{name:“数值”,value:“719938”},{name:“类型”,value:“资金”},{name:“程度”,value:“严重”}]},
{name:“山西”,value:[{name:“时间”,value:“20190105”},{name:“数值”,value:“819938”},{name:“类型”,value: “管理”},{name:“程度”,value: “严重”}]},
{name:“内蒙古”,value:[{name:“时间”,value:“20180326”},{name:“数值”,value:“919938”},{name:“类型”,value:“管理”},{name:“程度”,value:“严重”}]},
{name:“辽宁”,value:[{name:“时间”,value:“20180325”},{name:“数值”,value:“619938”},{name:“类型”,value: “天气”},{name:“程度”,value: “严重”}]},
{name:“吉林”,value:[{name:“时间”,value:“20180324”},{name:“数值”,value:“719938”},{name:“类型”,value:“天气”},{name:“程度”,value: “严重”}]},
{name:“黑龙江”,value:[{name:“时间”,value:“20180323”},{name:“数值”,value:“919938”},{name:“类型”,value:“天气”},{name:“程度”,value:“严重”}]},
{name:“上海”,value:[{name:“时间”,value:“20180322”},{name:“数值”,value:“1019938”},{name:“类型”,value:“天气”},{name:“程度”,value:“严重”}]},
{name:“江苏”,value:[{name:“时间”,value:“20180321”},{name:“数值”,value:“521990”},{name:“类型”,value:“天气”},{name:“程度”,value:“一般”}]},
{name:“浙江”,value:[{name:“时间”,value:“20180320”},{name:“数值”,value:“521990”},{name:“类型”,value:“管理”},{name:“程度”,value:“一般”}]},
{name:“安徽”,value:[{name:“时间”,value:“20180319”},{name:“数值”,value:“521990”},{name:“类型”,value: “管理”},{name:“程度”,value: “一般”}]},
{name:“福建”,value:[{name:“时间”,value:“20180318”},{name:“数值”,value:“521990”},{name:“类型”,value:“管理”},{name:“程度”,value:“一般”}]},
{name:“江西”,value:[{name:“时间”,value:“20180317”},{name:“数值”,value:“521990”},{name:“类型”,value:“管理”},{name:“程度”,value:“一般”}]},
{name:“山东”,value:[{name:“时间”,value:“20180316”},{name:“数值”,value:“521990”},{name:“类型”,value: “资金”},{name:“程度”,value:“一般”}]},
{name:“河南”,value:[{name:“时间”,value:“20180315”},{name:“数值”,value:“521990”},{name:“类型”,value:“资金”},{name:“程度”,value:“一般”}]},
{name:“湖北”,value:[{name:“时间”,value:“20180314”},{name:“数值”,value:“521990”},{name:“类型”,value:“资金”},{name:“程度”,value:“一般”}]},
{name:“湖南”,value:[{name:“时间”,value:“20180313”},{name:“数值”,value:“212100”},{name:“类型”,value:“资金”},{name:“程度”,value:“轻微”}]},
{name:“重庆”,value:[{name:“时间”,value:“20180312”},{name:“数值”,value:“322100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“四川”,value:[{name:“时间”,value:“20180311”},{name:“数值”,value:“252100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“贵州”,value:[{name:“时间”,value:“20180310”},{name:“数值”,value:“252100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“云南”,value:[{name:“时间”,value:“20170309”},{name:“数值”,value:“252100”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“西藏”,value:[{name:“时间”,value:“20170308”},{name:“数值”,value:“252001”},{name:“类型”,value:“人员”},{name:“程度”,value: “轻微”}]},
{name:“陕西”,value:[{name:“时间”,value:“20170307”},{name:“数值”,value:“450021”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“甘肃”,value:[{name:“时间”,value:“20170306”},{name:“数值”,value:“450021”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“青海”,value:[{name:“时间”,value:“20170304”},{name:“数值”,value:“350021”},{name:“类型”,value:“人员”},{name:“程度”,value:“轻微”}]},
{name:“宁夏”,value:[{name:“时间”,value:“20170303”},{name:“数值”,value:“250021”},{name:“类型”,value: “资金”},{name:“程度”,value:“轻微”}]},
{name:“新疆”,value:[{name:“时间”,value:“20170302”},{name:“数值”,value:“452001”},{name:“类型”,value:“资金”},{name:“程度”,value:“轻微”}]},
{name:“广东”,value:[{name:“时间”,value:“20170301”},{name:“数值”,value:“550021”},{name:“类型”,value: “资金”},{name:“程度”,value:“轻微”}]},
{name:“广西”,value:[{name:“时间”,value:“20170325”},{name:“数值”,value:“258821”},{name:“类型”,value:“资金”},{name:“程度”,value:“轻微”}]},
{name:“海南”,value:[{name:“时间”,value:“20170315”},{name:“数值”,value:“457721”},{name:“类型”,value: “资金”},{name:“程度”,value:“轻微”}]}
]
var capitalData = function(data) {
var res = [];
for (var i = 0; i < capital.length; i++) {
var geoCoord = geoCoordMap[capital[i].name];
if (geoCoord) {
res.push({
name: capital[i].name,
value: geoCoord.concat(capital[i].value[1].value)
});
}
}
return res;
};
var manageData = function(data) {
var res = [];
for (var i = 0; i < manage.length; i++) {
var geoCoord = geoCoordMap[manage[i].name];
if (geoCoord) {
res.push({
name: manage[i].name,
value: geoCoord.concat(manage[i].value[1].value)
});
}
}
return res;
};
var personData = function(data) {
var res = [];
for (var i = 0; i < person.length; i++) {
var geoCoord = geoCoordMap[person[i].name];
if (geoCoord) {
res.push({
name: person[i].name,
value: geoCoord.concat(person[i].value[1].value)
});
}
}
return res;
};
var weatherData = function(data) {
var res = [];
for (var i = 0; i < weather.length; i++) {
var geoCoord = geoCoordMap[weather[i].name];
if (geoCoord) {
res.push({
name: weather[i].name,
value: geoCoord.concat(weather[i].value[1].value)
});
}
}
return res;
};
$.getJSON(chinaDataURL, function(geoJson) {
echarts.registerMap(‘china’, geoJson)
option = {
backgroundColor: '#030303',
title: {
text: '全国主要城市损失',
sublink: 'http://www.pm25.in',
left: 'center',
textStyle: {
color: '#fff'
}
},
tooltip: {
trigger: 'item',
formatter: function(params) {
var toolTiphtml = ''
for(var i = 0;i<data.length;i++){
if(params.name==data[i].name){
toolTiphtml += data[i].name+':<br>'
for(var j = 0;j<data[i].value.length;j++){
toolTiphtml+=data[i].value[j].name+':'+data[i].value[j].value+"<br>"
}
}
}
return toolTiphtml;
}
},
legend: {
orient: 'vertical',
right: 20,
top: 10,
data: [{
name: '天气',
}, {
name: '资金',
},
{
name: '管理',
},
{
name: '人员',
}
],
textStyle: {
color: '#fff'
}
},
visualMap: {
min: 0,
max: 1200000,
left: 20,
bottom: 20,
calculable: true,
text: ['高', '低'],
inRange: {
color: ['rgb(70, 240, 252)', 'rgb(250, 220, 46)', 'rgb(245, 38, 186)']
},
textStyle: {
color: '#fff'
}
},
geo: {
map: 'china',
label: {
emphasis: {
show: false
}
},
itemStyle: {
normal: {
areaColor: 'rgb(19, 91, 153)',
borderColor: 'rgb(9, 54, 95)'
},
emphasis: {
areaColor: 'rgb(10, 105, 187)'
}
}
},
series: [
{
name: '天气',
type: 'scatter',
coordinateSystem: 'geo',
data: weatherData(data),
symbol:'arrow',
symbolSize: function(val) {
return val[2] / 50000;
},
label: {
normal: {
show: false,
formatter: function(params) {
// console.log(params);
return params.name;
},
position: 'right',
color: '#fff',
fontSize: '8'
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
color: '#4bbbb2',
borderWidth: 2,
borderColor: '#b4dccd'
}
}
},{
name: '资金',
type: 'scatter',
coordinateSystem: 'geo',
data: capitalData(data),
symbol:'circle',
symbolSize: function(val) {
return val[2] / 50000;
},
label: {
normal: {
show: false,
formatter: function(params) {
// console.log(params);
return params.name;
},
position: 'right',
color: '#fff',
fontSize: '8'
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
color: '#ea6347',
borderWidth: 2,
borderColor: '#f4b391'
}
}
},
{
name: '管理',
type: 'scatter',
coordinateSystem: 'geo',
data: manageData(data),
symbol: 'pin',
symbolSize: function(val) {
return val[2] /50000;
},
label: {
normal: {
show: false,
formatter: function(params) {
// console.log(params);
return params.name;
},
position: 'right',
color: '#fff',
fontSize: '8'
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
color: '#00ff00',
borderWidth: 2,
borderColor: '#55E355'
}
}
},
{
name: '人员',
type: 'scatter',
coordinateSystem: 'geo',
data: personData(data),
symbol:'triangle',
symbolSize: function(val) {
console.log(personData(data))
return val[2] / 50000;
},
label: {
normal: {
show: false,
formatter: function(params) {
// console.log(params);
return params.name;
},
position: 'right',
color: '#fff',
fontSize: '8'
},
emphasis: {
show: false
}
},
itemStyle: {
normal: {
color: '#FAFF1A',
borderWidth: 2,
borderColor: '#E3BC1F'
}
}
},
{
type: 'map',
map: 'china',
geoIndex: 0,
aspectScale: 0.75, //长宽比
tooltip: {
show: false
}
}
]
}
myChart.setOption(option);
});