ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了一系列丰富的图表类型,包括地图图表。地图图表能够将地理信息与数据可视化相结合,使得数据的展示更加直观和生动。对于新手来说,ECharts 地图图表的学习可能有些挑战,但不用担心,本文将为你提供10个实用案例,帮助你轻松上手,玩转数据可视化。
案例一:中国地图的绘制
首先,我们从最基础的开始,绘制一个中国地图。在 ECharts 中,可以使用 echarts.map 插件来实现。
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
map: 'china'
}]
};
myChart.setOption(option);
这段代码将创建一个包含中国地图的图表。你可以通过修改 map 属性来绘制其他国家的地图。
案例二:省份数据展示
接下来,我们可以在地图上展示每个省份的数据。这里我们使用 data 属性来定义每个省份的数据。
var option = {
series: [{
type: 'map',
map: 'china',
data: [{
name: '广东',
value: 1000
}, {
name: '北京',
value: 500
}]
}]
};
在这个例子中,我们为广东省和北京市分别设置了数据值。
案例三:世界地图的绘制
ECharts 也支持世界地图的绘制。以下是一个简单的世界地图示例:
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
map: 'world'
}]
};
myChart.setOption(option);
案例四:地图上的热力图
热力图可以用来展示地图上数据的密集程度。以下是一个在地图上添加热力图的例子:
var option = {
series: [{
type: 'map',
map: 'china',
data: [{
name: '广东',
value: 1000
}, {
name: '北京',
value: 500
}],
label: {
show: true,
formatter: '{b}:{c}'
},
itemStyle: {
areaColor: '#f4e925',
borderColor: '#fff'
}
}]
};
在这个例子中,我们为每个省份添加了标签,并且设置了热力图的样式。
案例五:地图上的折线图
ECharts 地图图表还支持在地图上绘制折线图。以下是一个在地图上绘制折线图的例子:
var option = {
series: [{
type: 'map',
map: 'china',
data: [{
name: '广东',
value: 1000
}, {
name: '北京',
value: 500
}],
markLine: {
silent: false,
data: [{
name: '北京到广州',
coords: [[116.46, 39.92], [113.23, 23.16]]
}]
}
}]
};
在这个例子中,我们添加了一条从北京到广州的折线。
案例六:地图上的散点图
散点图可以用来展示地图上数据的分布情况。以下是一个在地图上添加散点图的例子:
var option = {
series: [{
type: 'map',
map: 'china',
data: [{
name: '广东',
value: 1000
}, {
name: '北京',
value: 500
}],
markPoint: {
symbol: 'pin',
symbolSize: 50,
data: [{
name: '广州',
value: 1000
}, {
name: '北京',
value: 500
}]
}
}]
};
在这个例子中,我们为广州和北京添加了散点。
案例七:地图上的饼图
饼图可以用来展示地图上数据的占比情况。以下是一个在地图上添加饼图的例子:
var option = {
series: [{
type: 'map',
map: 'china',
data: [{
name: '广东',
value: 1000
}, {
name: '北京',
value: 500
}],
label: {
show: true,
formatter: '{b}:{c}'
},
itemStyle: {
areaColor: '#f4e925',
borderColor: '#fff'
},
markPoint: {
symbol: 'pin',
symbolSize: 50,
data: [{
name: '广州',
value: 1000
}, {
name: '北京',
value: 500
}],
label: {
show: true,
formatter: '{b}:{c}'
}
}
}]
};
在这个例子中,我们为广州和北京添加了饼图。
案例八:地图上的柱状图
柱状图可以用来展示地图上数据的数量。以下是一个在地图上添加柱状图的例子:
var option = {
series: [{
type: 'map',
map: 'china',
data: [{
name: '广东',
value: 1000
}, {
name: '北京',
value: 500
}],
label: {
show: true,
formatter: '{b}:{c}'
},
itemStyle: {
areaColor: '#f4e925',
borderColor: '#fff'
},
markPoint: {
symbol: 'pin',
symbolSize: 50,
data: [{
name: '广州',
value: 1000
}, {
name: '北京',
value: 500
}],
label: {
show: true,
formatter: '{b}:{c}'
}
},
markBar: {
silent: false,
data: [{
name: '广州',
value: 1000
}, {
name: '北京',
value: 500
}]
}
}]
};
在这个例子中,我们为广州和北京添加了柱状图。
案例九:地图上的雷达图
雷达图可以用来展示地图上数据的多个维度。以下是一个在地图上添加雷达图的例子:
var option = {
series: [{
type: 'map',
map: 'china',
data: [{
name: '广东',
value: [100, 200, 300, 400, 500]
}, {
name: '北京',
value: [500, 400, 300, 200, 100]
}],
label: {
show: true,
formatter: '{b}:{c}'
},
itemStyle: {
areaColor: '#f4e925',
borderColor: '#fff'
},
markPoint: {
symbol: 'pin',
symbolSize: 50,
data: [{
name: '广州',
value: [100, 200, 300, 400, 500]
}, {
name: '北京',
value: [500, 400, 300, 200, 100]
}],
label: {
show: true,
formatter: '{b}:{c}'
}
},
markLine: {
silent: false,
data: [{
name: '广州到北京',
coords: [[100, 200, 300, 400, 500], [500, 400, 300, 200, 100]]
}]
}
}]
};
在这个例子中,我们为广州和北京添加了雷达图。
案例十:地图上的自定义图形
最后,我们可以使用 ECharts 的 custom 类型来绘制自定义图形。以下是一个在地图上添加自定义图形的例子:
var option = {
series: [{
type: 'custom',
coordinateSystem: 'geo',
renderItem: function (params, api) {
var point = api.coord([params.value[0], params.value[1]]);
return {
type: 'text',
position: point,
text: params.value[2],
style: {
fill: '#fff',
fontSize: 14
}
};
},
data: [{
name: '广州',
value: [113.23, 23.16, '广州']
}, {
name: '北京',
value: [116.46, 39.92, '北京']
}]
}]
};
在这个例子中,我们为广州和北京添加了自定义文本。
通过以上10个实用案例,相信你已经对 ECharts 地图图表有了初步的了解。ECharts 地图图表的功能非常强大,可以满足各种数据可视化的需求。希望这些案例能够帮助你轻松上手,玩转数据可视化。
