地图图表作为一种直观的数据展示方式,在地理信息、市场分析、资源分布等领域有着广泛的应用。ECharts 是一款功能强大的 JavaScript 图表库,提供了丰富的图表类型和配置选项。本篇文章将为你解析 10 个 ECharts 地图图表的实用案例,帮助你快速上手,解锁数据可视化新技能。
1. 中国地图热力图
热力图是地图图表中常用的形式之一,它能够直观地展示不同区域的数值分布情况。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '中国地图热力图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '人口密度',
type: 'map',
mapType: 'china',
data: [
{name: '北京', value: 100},
{name: '上海', value: 200},
// ...其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
2. 世界地图饼图
饼图可以用来展示一个国家或地区内部的各个区域占比情况。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '世界地图饼图'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
series: [
{
name: '各国人口占比',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{value: 335, name: '非洲'},
{value: 310, name: '亚洲'},
{value: 234, name: '欧洲'},
{value: 135, name: '南美洲'},
{value: 1548, name: '北美洲'}
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
3. 地图上的折线图
在地图上添加折线图,可以用来展示随时间变化的数据趋势。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图上的折线图'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['销量']
},
xAxis: {
type: 'category',
data: ['北京', '上海', '广州', '深圳', '杭州']
},
yAxis: {
type: 'value'
},
series: [
{
name: '销量',
type: 'line',
data: [10, 20, 30, 40, 50]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
4. 地图上的散点图
散点图可以用来展示不同地点之间的距离关系和数值关系。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图上的散点图'
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'value'
},
series: [
{
name: '数据点',
type: 'scatter',
coordinateSystem: 'cartesian2d',
data: [
[10.5, 20],
[20.5, 30],
[30.5, 40],
[40.5, 50]
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
5. 地图上的地图
在地图上显示其他地图,可以用来对比不同地区的地理信息。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 引入其他地图数据
require('echarts/map/js/world');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图上的地图'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
data: [
{name: '北京', value: 100},
{name: '上海', value: 200}
]
},
{
name: '世界',
type: 'map',
mapType: 'world',
data: [
{name: '美国', value: 150},
{name: '加拿大', value: 80}
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
6. 地图上的三维地图
三维地图可以展示更加直观的地理信息。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china3D');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图上的三维地图'
},
tooltip: {
trigger: 'item'
},
visualMap: {
max: 1000,
min: 0,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
geo: {
map: 'china',
roam: true,
label: {
emphasis: {
show: false
}
},
itemStyle: {
normal: {
areaColor: '#323c48',
borderColor: '#111'
},
emphasis: {
areaColor: '#2a333d'
}
}
},
series: [
{
name: '数据点',
type: 'scatter3D',
coordinateSystem: 'geo',
data: [
[116.46,39.92,100],
[121.4737,31.2304,100]
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
7. 地图上的柱状图
在地图上添加柱状图,可以用来展示不同地点的数值对比。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图上的柱状图'
},
tooltip: {
trigger: 'item'
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'category',
data: ['北京', '上海', '广州', '深圳', '杭州']
},
series: [
{
name: '销量',
type: 'bar',
data: [10, 20, 30, 40, 50]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
8. 地图上的雷达图
雷达图可以用来展示不同地点的多个指标对比。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图上的雷达图'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['北京', '上海', '广州', '深圳', '杭州']
},
xAxis: {
type: 'category',
data: ['经济', '文化', '教育', '科技', '交通']
},
yAxis: {
type: 'value'
},
series: [
{
name: '北京',
type: 'line',
data: [80, 90, 70, 60, 50]
},
{
name: '上海',
type: 'line',
data: [70, 80, 90, 60, 50]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
9. 地图上的饼图
在地图上添加饼图,可以用来展示不同地点的占比情况。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图上的饼图'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left',
data: ['北京', '上海', '广州', '深圳', '杭州']
},
series: [
{
name: '数据占比',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{value: 335, name: '北京'},
{value: 310, name: '上海'},
{value: 234, name: '广州'},
{value: 135, name: '深圳'},
{value: 1548, name: '杭州'}
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
10. 地图上的地图叠加
地图叠加可以将多个地图叠加在一起,用于对比分析。
案例代码:
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 引入世界地图数据
require('echarts/map/js/world');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));
// 配置图表
var option = {
title: {
text: '地图叠加'
},
tooltip: {
trigger: 'item'
},
series: [
{
name: '中国',
type: 'map',
mapType: 'china',
data: [
{name: '北京', value: 100},
{name: '上海', value: 200}
]
},
{
name: '世界',
type: 'map',
mapType: 'world',
data: [
{name: '美国', value: 150},
{name: '加拿大', value: 80}
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
以上是 10 个 ECharts 地图图表的实用案例解析,希望对你有所帮助。在实践过程中,可以根据自己的需求进行相应的调整和优化。祝你在数据可视化领域取得更好的成绩!
