在数据可视化领域,ECharts地图图表以其丰富的功能和灵活性受到了广泛关注。它不仅可以帮助我们展示地理位置信息,还能通过丰富的视觉元素和交互方式,让数据更加生动和易于理解。本文将为您解析30个实用案例,帮助您快速掌握ECharts地图图表的可视化技巧。
案例一:中国34个省级行政区地图
1.1 案例背景
展示中国34个省级行政区的地理分布情况。
1.2 技术要点
- 使用ECharts内置的地图数据。
- 利用
series配置项中的mapType属性。
1.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '中国34个省级行政区地图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'map',
mapType: 'china',
roam: true,
label: {
show: true
},
data: [
{name: '北京', value: Math.round(Math.random() * 1000)},
// ... 其他省份数据
]
}]
};
myChart.setOption(option);
案例二:全球地图
2.1 案例背景
展示全球各大洲的地理分布情况。
2.2 技术要点
- 使用ECharts内置的全球地图数据。
- 配置
series中的mapType属性为’world’。
2.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '全球地图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'United States', value: Math.round(Math.random() * 1000)},
// ... 其他国家数据
]
}]
};
myChart.setOption(option);
案例三:自定义地图
3.1 案例背景
展示自定义地图,如某个城市或景区的地图。
3.2 技术要点
- 使用自定义地图数据。
- 配置
series中的mapType属性为自定义地图名称。
3.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '自定义地图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'map',
mapType: '自定义地图名称',
roam: true,
label: {
show: true
},
data: [
{name: '景点1', value: Math.round(Math.random() * 1000)},
// ... 其他景点数据
]
}]
};
myChart.setOption(option);
案例四:地图上的散点图
4.1 案例背景
在地图上展示散点图,如某个地区的人口分布。
4.2 技术要点
- 使用
series配置项中的type属性为’scatter’。 - 配置
series中的coordinateSystem属性为’geo’。
4.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的散点图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'scatter',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例五:地图上的热力图
5.1 案例背景
在地图上展示热力图,如某个地区的气温分布。
5.2 技术要点
- 使用
series配置项中的type属性为’heatmap’。 - 配置
series中的coordinateSystem属性为’geo’。
5.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的热力图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'heatmap',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例六:地图上的折线图
6.1 案例背景
在地图上展示折线图,如某个地区的气温变化趋势。
6.2 技术要点
- 使用
series配置项中的type属性为’line’。 - 配置
series中的coordinateSystem属性为’geo’。
6.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的折线图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'line',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例七:地图上的柱状图
7.1 案例背景
在地图上展示柱状图,如某个地区的经济总量。
7.2 技术要点
- 使用
series配置项中的type属性为’stack’。 - 配置
series中的coordinateSystem属性为’geo’。
7.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的柱状图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'stack',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例八:地图上的雷达图
8.1 案例背景
在地图上展示雷达图,如某个地区的综合发展水平。
8.2 技术要点
- 使用
series配置项中的type属性为’radar’。 - 配置
series中的coordinateSystem属性为’geo’。
8.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的雷达图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'radar',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例九:地图上的饼图
9.1 案例背景
在地图上展示饼图,如某个地区的产业结构。
9.2 技术要点
- 使用
series配置项中的type属性为’pie’。 - 配置
series中的coordinateSystem属性为’geo’。
9.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的饼图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'pie',
coordinateSystem: 'geo',
data: [
{name: '产业1', value: 数值},
// ... 其他产业数据
]
}]
};
myChart.setOption(option);
案例十:地图上的地图
10.1 案例背景
在地图上展示另一个地图,如某个城市的区域划分。
10.2 技术要点
- 使用
series配置项中的type属性为’map’。 - 配置
series中的mapType属性为目标地图名称。
10.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的地图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'map',
mapType: '目标地图名称',
roam: true,
label: {
show: true
},
data: [
{name: '区域1', value: 数值},
// ... 其他区域数据
]
}]
};
myChart.setOption(option);
案例十一:地图上的时间轴
11.1 案例背景
在地图上展示时间轴,如某个地区的气温变化趋势。
11.2 技术要点
- 使用
series配置项中的type属性为’timeaxis’。 - 配置
series中的coordinateSystem属性为’geo’。
11.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的时间轴'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'timeaxis',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [日期, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例十二:地图上的散点图+热力图
12.1 案例背景
在地图上同时展示散点图和热力图,如某个地区的气温分布和人口密度。
12.2 技术要点
- 使用
series配置项中的type属性分别为’scatter’和’heatmap’。 - 配置
series中的coordinateSystem属性为’geo’。
12.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的散点图+热力图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'scatter',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}, {
name: '数据',
type: 'heatmap',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例十三:地图上的折线图+柱状图
13.1 案例背景
在地图上同时展示折线图和柱状图,如某个地区的气温变化趋势和经济总量。
13.2 技术要点
- 使用
series配置项中的type属性分别为’line’和’stack’。 - 配置
series中的coordinateSystem属性为’geo’。
13.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的折线图+柱状图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'line',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}, {
name: '数据',
type: 'stack',
coordinateSystem: 'geo',
data: [
{name: '地区1', value: [经度, 纬度, 数值]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例十四:地图上的饼图+地图
14.1 案例背景
在地图上同时展示饼图和另一个地图,如某个地区的产业结构和区域划分。
14.2 技术要点
- 使用
series配置项中的type属性分别为’pie’和’map’。 - 配置
series中的coordinateSystem属性为’geo’。
14.3 代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地图上的饼图+地图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'pie',
coordinateSystem: 'geo',
data: [
{name: '产业1', value: 数值},
// ... 其他产业数据
]
}, {
name: '数据',
type: 'map',
mapType: '目标地图名称',
roam: true,
label: {
show: true
},
data: [
{name: '区域1', value: 数值},
// ... 其他区域数据
]
}]
};
myChart.setOption(option);
案例十五:地图上的地图+地图
15.1 案例背景
在地图上同时展示两个地图,如某个地区的区域划分和周边地区。
15.2 技术要点
- 使用
series配置项中的type属性均为’map’。 - 配置
series中的coordinateSystem属性为’geo’。
15.3 代码示例
”`javascript var myChart = echarts.init(document.getElementById(‘main’));
var option = {
title: {
text: '地图上的地图+地图'
},
tooltip: {},
visualMap: {
min: 0,
max: 100,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [{
name: '数据',
type: 'map',
mapType: '目标地图名称',
roam: true,
label: {
show: true
},
data: [
{name: '区域