ECharts 3是一款來自百度團(tuán)隊的優(yōu)秀圖表可視化工具,它支持多種圖表類型,其中比較常用的就是地圖類型。在使用ECharts 3繪制地圖時,我們通常需要使用到一些地圖json數(shù)據(jù),接下來我們就來看看這些數(shù)據(jù)是如何使用的。
首先,ECharts 3中的地圖json數(shù)據(jù)是一種格式化的數(shù)據(jù)文件,可用于描述不同地區(qū)的邊界線(比如國家、城市、省份等)。數(shù)據(jù)文件的類型可以是普通的.json文件,也可以是.js文件,其中.js文件需要使用指定的格式。
// 普通的.json數(shù)據(jù)格式 { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "name": "北京市" }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ 116.206385, 39.986634 ], ... ] ] ] } }, ... ] } // .js數(shù)據(jù)格式 var geoJson={ "type": "FeatureCollection", "features": [ ... ] };
上述代碼中,數(shù)據(jù)包含"type"、"features"、"properties"和"geometry"四個主要屬性,其中"type"描述了數(shù)據(jù)的類型。我們需要將這些數(shù)據(jù)文件加載到ECharts中,具體操作如下:
import echarts from 'echarts' echarts.registerMap('mapName', geoJson); //或者 var chart = echarts.init(document.getElementById('main')); chart.registerMap('mapName', geoJson);
上述代碼中,我們通過echarts.registerMap或chart.registerMap方法將數(shù)據(jù)加載到地圖中,需要注意的是"mapName"這個參數(shù)需要和我們在option中使用的地圖名稱一致。例如:
var option = { ... series: [ { type: 'map', map: 'mapName', ... } ] } var chart = echarts.init(document.getElementById('main')); chart.setOption(option);
上述代碼中,我們通過設(shè)置series的map屬性來使用之前加載的地圖數(shù)據(jù),可以傳入地圖的名稱或者數(shù)據(jù)文件的url地址來進(jìn)行設(shè)置。