地图图表是一种非常直观的展示地理分布和空间关系的工具。ECharts 是一款功能强大的 JavaScript 图表库,它支持丰富的图表类型,包括地图图表。本文将为你介绍10个实用案例,帮助你轻松学会使用 ECharts 绘制地图图表。
案例一:中国地图
1.1 案例描述
展示中国各个省份的地图,并用不同颜色表示不同区域的数值。
1.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '中国地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: 'china',
roam: false,
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省份
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例二:世界地图
2.1 案例描述
展示世界地图,并用不同颜色表示不同国家的数值。
2.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '世界地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: 'world',
roam: false,
label: {
show: true
},
data: [
{name: '美国', value: Math.round(Math.random() * 1000)},
{name: '中国', value: Math.round(Math.random() * 1000)},
// ... 其他国家
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例三:行政区划地图
3.1 案例描述
展示某个省级行政区的地图,并用不同颜色表示不同市县的数值。
3.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入省级行政区地图数据
require('echarts/map/js/province');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '行政区划地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: 'province',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他市县
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例四:交通地图
4.1 案例描述
展示某个城市的交通地图,并用不同颜色表示不同道路的拥堵程度。
4.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入城市交通地图数据
require('echarts/map/js/city');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '交通地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['拥堵','畅通'],
calculable: true
},
series: [
{
name: '拥堵程度',
type: 'map',
mapType: 'city',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他道路
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例五:地理坐标地图
5.1 案例描述
展示某个区域的地理坐标地图,并用不同颜色表示不同地点的数值。
5.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入地理坐标地图数据
require('echarts/map/js/gisMap');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地理坐标地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: 'gisMap',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他地点
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例六:卫星地图
6.1 案例描述
展示某个区域的卫星地图,并用不同颜色表示不同区域的数值。
6.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入卫星地图数据
require('echarts/map/js/satellite');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '卫星地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: 'satellite',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他区域
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例七:三维地图
7.1 案例描述
展示某个区域的三维地图,并用不同颜色表示不同区域的数值。
7.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入三维地图数据
require('echarts/map/js/3DMap');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '三维地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: '3DMap',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他区域
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例八:城市热力图
8.1 案例描述
展示某个城市的热力图,并用不同颜色表示不同区域的温度。
8.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入城市热力图数据
require('echarts/map/js/heatmap');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '城市热力图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '温度',
type: 'map',
mapType: 'heatmap',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他区域
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例九:行政区划边界图
9.1 案例描述
展示某个省级行政区的行政区划边界图,并用不同颜色表示不同市县。
9.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入省级行政区边界图数据
require('echarts/map/js/boundary');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '行政区划边界图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: 'boundary',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他市县
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十:三维地形图
10.1 案例描述
展示某个区域的三维地形图,并用不同颜色表示不同高度的数值。
10.2 实现代码
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入三维地形图数据
require('echarts/map/js/terrain');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '三维地形图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '高度',
type: 'map',
mapType: 'terrain',
roam: false,
label: {
show: true
},
data: [
{name: '杭州市', value: Math.round(Math.random() * 1000)},
{name: '宁波市', value: Math.round(Math.random() * 1000)},
// ... 其他区域
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
通过以上10个实用案例,相信你已经掌握了使用 ECharts 绘制地图图表的基本方法。在实际应用中,你可以根据自己的需求选择合适的地图类型和配置项,打造出美观、实用的地图图表。