在数据可视化的世界里,地图图表是一种非常直观且强大的工具。ECharts作为一个功能丰富的图表库,支持各种类型的图表,其中地图图表以其独特的魅力,在展示地理分布数据方面尤为出色。对于新手来说,掌握ECharts地图图表的制作并不是一件难事。下面,我们将通过20个实用案例,带你轻松上手ECharts地图图表的制作。
案例一:中国地图的绘制
首先,让我们从最基础的开始,绘制一个中国地图。
// 引入 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'
},
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例二:世界地图的绘制
接下来,我们尝试绘制一个世界地图。
// 引入世界地图数据
require('echarts/map/js/world');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '世界地图示例'
},
tooltip: {
trigger: 'item',
formatter: '{b} : {c} ({d}%)'
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
label: {
show: true
},
data: [
{name: 'Afghanistan', value: 200},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例三:省份销量排名地图
现在,让我们来制作一个省份销量排名的地图。
// 引入中国地图数据
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: 10000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: '销量',
type: 'map',
mapType: 'china',
roam: true,
label: {
show: true
},
data: [
{name: '北京', value: 1000},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例四:多级地图的绘制
在ECharts中,我们还可以绘制多级地图。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '多级地图示例'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '多级地图',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例五:地图上的热力图
热力图可以用来展示地图上的密集程度。
// 引入中国地图数据
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: 'heatmap',
mapType: 'china',
data: [
{name: '北京市', value: 100},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例六:地图上的折线图
在地图上添加折线图,可以展示数据的变化趋势。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的折线图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '折线图',
type: 'line',
mapType: 'china',
data: [
{name: '北京市', value: [100, 150, 200]},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例七:地图上的散点图
散点图可以用来展示地图上的点状数据。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的散点图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '散点图',
type: 'scatter',
mapType: 'china',
data: [
{name: '北京市', value: [116.46, 39.92]},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例八:地图上的柱状图
柱状图可以用来展示地图上的柱状数据。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的柱状图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '柱状图',
type: 'bar',
mapType: 'china',
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例九:地图上的饼图
饼图可以用来展示地图上的百分比数据。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的饼图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '饼图',
type: 'pie',
mapType: 'china',
data: [
{name: '北京市', value: 100},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十:地图上的雷达图
雷达图可以用来展示地图上的多维度数据。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的雷达图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '雷达图',
type: 'radar',
mapType: 'china',
data: [
{name: '北京市', value: [100, 200, 300, 400]},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十一:地图上的K线图
K线图可以用来展示地图上的股票数据。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的K线图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: 'K线图',
type: 'k',
mapType: 'china',
data: [
{name: '北京市', value: [100, 200, 300, 400]},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十二:地图上的地图
在地图上展示另一个地图。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的地图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '地图',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十三:地图上的地图叠加
在地图上叠加另一个地图。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的地图叠加'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '地图叠加',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
]
},
{
name: '另一个地图',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '上海市', value: 2000},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十四:地图上的动态效果
在地图上添加动态效果。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的动态效果'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '动态效果',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
],
animation: true
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十五:地图上的交互效果
在地图上添加交互效果。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的交互效果'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '交互效果',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
],
itemStyle: {
emphasis: {
label: {
show: true
}
}
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十六:地图上的自定义样式
在地图上自定义样式。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的自定义样式'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '自定义样式',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
],
itemStyle: {
normal: {
areaColor: '#323c48',
borderColor: '#111'
},
emphasis: {
areaColor: '#2a333d'
}
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十七:地图上的数据筛选
在地图上筛选数据。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的数据筛选'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '数据筛选',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
],
dataZoom: [
{
type: 'slider',
start: 0,
end: 50
}
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十八:地图上的数据排序
在地图上排序数据。
// 引入中国地图数据
require('echarts/map/js/china');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地图上的数据排序'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '数据排序',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
],
sort: {
type: 'value',
order: 'ascending'
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
案例十九:地图上的数据聚合
在地图上聚合数据。
”`javascript // 引入中国地图数据 require(‘echarts/map/js/china’);
// 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById(‘main’));
// 指定图表的配置项和数据 var option = {
title: {
text: '地图上的数据聚合'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '数据聚合',
type: 'map',
mapType: 'china',
label: {
show: true
},
data: [
{name: '北京市', value: 1000},
// ... 其他城市数据
],
agglomeration: true,
aggl
