ECharts是一款基于JavaScript的可視化庫,它能夠支持多種圖表類型,并且能夠自定義數據展示、交互行為等。其中,地圖類型是ECharts中非常常用的一種圖表類型,而且ECharts對于地圖數據的處理十分方便,只需要將地圖數據轉化為對應的JSON格式,便可以輕松生成美觀而實用的地圖。
JSON生成JS的過程可以分為兩個步驟。第一步,先將原始地圖數據轉化為ECharts能夠識別的JSON格式,常用的是GeoJSON格式。常見的轉化工具有QGIS和TopoJSON等。第二步,將轉化后的JSON文件保存下來,在項目中通過JavaScript獲取并渲染。
var myChart = echarts.init(document.getElementById('map'));
$.get('json/map.json', function (data) {
myChart.setOption({
backgroundColor: '#404a59',
title: {
text: '地球上的點',
subtext: 'from d3.js',
left: 'center',
textStyle: {
color: '#fff'
}
},
tooltip : {
trigger: 'item'
},
geo: {
map: 'world',
roam: true,
label: {
emphasis: {
show: true,
color: '#fff'
}
},
itemStyle: {
normal: {
areaColor: '#323c48',
borderColor: '#111'
},
emphasis: {
areaColor: '#2a333d'
}
}
},
series : [
{
name: '地球上的點',
type: 'scatter',
coordinateSystem: 'geo',
data: data,
symbolSize: function (val) {
return val[2] / 10;
},
label: {
normal: {
formatter: '',
position: 'right',
show: false
},
emphasis: {
show: true
}
},
itemStyle: {
normal: {
color: '#ddb926'
}
}
}
]
});
});
如上代碼,首先,我們通過echarts庫的init方法初始化了一個myChart實例,并指定了容器元素的ID。接著,通過jQuery的get方法獲取了存儲地圖數據的json文件,之后使用setOption方法設置了需要渲染的參數,包括地圖的數據和樣式,以及點的數據和樣式。最后,通過myChart實例的方法呼出即可。
上一篇vue列表展示時間