在数据可视化领域,ECharts 是一款非常受欢迎的图表库,它提供了丰富的图表类型,包括地图图表。地图图表能够直观地展示地理分布数据,非常适合展示区域间的数据对比。下面,我将通过10个实用案例,带你轻松上手 ECharts 地图图表的制作。
案例一:中国地图数据可视化
1.1 准备工作
首先,你需要准备中国地图的 JSON 数据。ECharts 提供了地图数据集,可以直接下载使用。
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: 1000,
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)},
{name: '上海', value: Math.round(Math.random() * 1000)},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
1.3 代码解析
- 引入 ECharts 主模块和对应的中国地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘china’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为省份名称,value 属性为对应省份的数据值。
案例二:世界地图数据可视化
2.1 准备工作
与案例一类似,你需要准备世界地图的 JSON 数据。ECharts 提供了世界地图数据集,可以直接下载使用。
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: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'China', value: Math.round(Math.random() * 1000)},
{name: 'United States', value: Math.round(Math.random() * 1000)},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
2.3 代码解析
- 引入 ECharts 主模块和对应的世界地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘world’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为国家名称,value 属性为对应国家的数据值。
案例三:自定义地图数据可视化
3.1 准备工作
有时候,你可能需要使用自定义地图数据。这时,你需要准备一个 JSON 文件,其中包含地图的顶点坐标和连接线信息。
3.2 代码示例
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入自定义地图数据
require('echarts/map/js/customMap');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '自定义地图数据可视化'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '自定义地图',
type: 'map',
mapType: 'customMap',
roam: true,
label: {
show: true
},
data: [
{name: '区域1', value: Math.round(Math.random() * 1000)},
{name: '区域2', value: Math.round(Math.random() * 1000)},
// ... 其他区域数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
3.3 代码解析
- 引入 ECharts 主模块和对应的自定义地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘customMap’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为区域名称,value 属性为对应区域的数据值。
案例四:地图热力图
4.1 准备工作
热力图可以直观地展示地图上每个区域的密集程度。你需要准备地图数据和一个数据数组,其中包含每个区域的密集程度值。
4.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: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'China', value: Math.round(Math.random() * 1000)},
{name: 'United States', value: Math.round(Math.random() * 1000)},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
4.3 代码解析
- 引入 ECharts 主模块和对应的世界地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘world’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为国家名称,value 属性为对应国家的数据值。
案例五:地图散点图
5.1 准备工作
散点图可以展示地图上每个区域的点状数据。你需要准备地图数据和一个数据数组,其中包含每个区域的经纬度和数据值。
5.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: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'China', value: [116.407526,39.90403], itemStyle: {color: '#f4e925'}},
{name: 'United States', value: [-98.5795, 39.8283], itemStyle: {color: '#f4e925'}},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
5.3 代码解析
- 引入 ECharts 主模块和对应的世界地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘world’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为国家名称,value 属性为对应国家的经纬度和数据值。
案例六:地图柱状图
6.1 准备工作
柱状图可以展示地图上每个区域的柱状数据。你需要准备地图数据和一个数据数组,其中包含每个区域的名称和数据值。
6.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: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'China', value: [116.407526,39.90403, 100]},
{name: 'United States', value: [-98.5795, 39.8283, 200]},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
6.3 代码解析
- 引入 ECharts 主模块和对应的世界地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘world’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为国家名称,value 属性为对应国家的经纬度、数据值和颜色值。
案例七:地图折线图
7.1 准备工作
折线图可以展示地图上每个区域的折线数据。你需要准备地图数据和一个数据数组,其中包含每个区域的名称和数据值。
7.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: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'China', value: [116.407526,39.90403, [1, 2, 3, 4]]},
{name: 'United States', value: [-98.5795, 39.8283, [2, 3, 4, 5]]},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
7.3 代码解析
- 引入 ECharts 主模块和对应的世界地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘world’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为国家名称,value 属性为对应国家的经纬度、数据值和折线数据。
案例八:地图饼图
8.1 准备工作
饼图可以展示地图上每个区域的饼状数据。你需要准备地图数据和一个数据数组,其中包含每个区域的名称和数据值。
8.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: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'China', value: [116.407526,39.90403, [1, 2, 3, 4]]},
{name: 'United States', value: [-98.5795, 39.8283, [2, 3, 4, 5]]},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
8.3 代码解析
- 引入 ECharts 主模块和对应的世界地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘world’,并设置 roam 属性为 true,允许用户缩放和拖拽地图。
- 设置数据,其中 name 属性为国家名称,value 属性为对应国家的经纬度、数据值和饼图数据。
案例九:地图地图
9.1 准备工作
地图可以展示地图上每个区域的地图数据。你需要准备地图数据和一个数据数组,其中包含每个区域的名称和数据值。
9.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: 1000,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '世界',
type: 'map',
mapType: 'world',
roam: true,
label: {
show: true
},
data: [
{name: 'China', value: [116.407526,39.90403, [1, 2, 3, 4]]},
{name: 'United States', value: [-98.5795, 39.8283, [2, 3, 4, 5]]},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
9.3 代码解析
- 引入 ECharts 主模块和对应的世界地图数据。
- 初始化 ECharts 实例。
- 配置图表的标题、提示框、视觉映射组件和数据系列。
- 在数据系列中,指定地图类型为 ‘world’,并设置 roam 属性为 true,允许
