在当今这个大数据时代,数据可视化成为了数据分析的重要手段。ECharts作为一个功能强大的JavaScript库,可以帮助我们轻松创建各种图表,包括地图图表。本文将为你介绍10个实用案例,让你快速掌握ECharts地图图表的制作方法,让数据可视化变得不再难。
1. 省份地图
案例描述: 展示中国各省份的人口数量。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
// 引入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: {},
legend: {
data:['人口数量']
},
visualMap: {
min: 0,
max: 50000000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: '人口数量',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data:[
{name: '北京',value: 2154.2},
{name: '天津',value: 1530.6},
{name: '河北',value: 7469.7},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
2. 地级市地图
案例描述: 展示中国各城市的空气质量指数。
实现步骤:
- 引入ECharts和相应地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 引入城市地图数据
require('echarts/map/js/world');
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '中国各城市空气质量指数'
},
tooltip: {},
legend: {
data:['空气质量指数']
},
visualMap: {
min: 0,
max: 500,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: '空气质量指数',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data:[
{name: '北京',value: 100},
{name: '天津',value: 80},
{name: '河北',value: 90},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
3. 热力图
案例描述: 展示中国各省份的GDP总量。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
// 引入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: '中国各省份GDP总量'
},
tooltip: {},
visualMap: {
min: 0,
max: 500000000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: 'GDP总量',
type: 'heatmap',
mapType: 'china',
data: [
{name: '北京',value: 200000000},
{name: '天津',value: 100000000},
{name: '河北',value: 150000000},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
4. 城市迁徙图
案例描述: 展示中国各城市之间的迁徙情况。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
// 引入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: {},
legend: {
data:['迁徙人数']
},
visualMap: {
min: 0,
max: 1000000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: '迁徙人数',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '北京',value: 50000},
{name: '上海',value: 80000},
{name: '广州',value: 30000},
// ... 其他城市数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
5. 世界地图
案例描述: 展示全球各国家的GDP总量。
实现步骤:
- 引入ECharts和world地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
// 引入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: '全球各国家GDP总量'
},
tooltip: {},
visualMap: {
min: 0,
max: 500000000000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: 'GDP总量',
type: 'map',
mapType: 'world',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '中国',value: 110000000000},
{name: '美国',value: 210000000000},
{name: '日本',value: 50000000000},
// ... 其他国家数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
6. 地图标注
案例描述: 在地图上标注中国各省份的首府城市。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
// 引入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: {},
series: [
{
name: '首府城市',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '北京',value: '北京市'},
{name: '天津',value: '天津市'},
{name: '河北',value: '石家庄市'},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
7. 地图多级联动
案例描述: 实现中国省份、城市、区县的三级联动。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
- 实现联动效果。
// 引入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: {},
series: [
{
name: '联动',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '北京',value: '北京市'},
{name: '天津',value: '天津市'},
{name: '河北',value: '石家庄市'},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
8. 地图点击事件
案例描述: 实现地图点击事件,点击省份时弹出相应信息。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
- 监听地图点击事件,弹出相应信息。
// 引入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: {},
series: [
{
name: '点击事件',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '北京',value: '北京市'},
{name: '天津',value: '天津市'},
{name: '河北',value: '石家庄市'},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 监听地图点击事件
myChart.on('click', function (params) {
alert(params.name);
});
9. 地图缩放控制
案例描述: 实现地图的缩放控制,支持鼠标滚轮和拖拽。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
- 开启地图的缩放功能。
// 引入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: {},
series: [
{
name: '缩放控制',
type: 'map',
mapType: 'china',
roam: true,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '北京',value: '北京市'},
{name: '天津',value: '天津市'},
{name: '河北',value: '石家庄市'},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
10. 地图数据动态更新
案例描述: 实现地图数据的动态更新,例如实时显示各省份的空气质量指数。
实现步骤:
- 引入ECharts和china地图数据。
- 设置地图图表的配置项,包括地图类型、标题、工具箱等。
- 添加数据系列,设置数据项。
- 使用定时器或WebSocket等技术实现数据的动态更新。
// 引入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: {},
visualMap: {
min: 0,
max: 500,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
series: [
{
name: '空气质量指数',
type: 'map',
mapType: 'china',
roam: false,
label: {
normal: {
show: true
},
emphasis: {
show: true
}
},
data: [
{name: '北京',value: 100},
{name: '天津',value: 80},
{name: '河北',value: 90},
// ... 其他省份数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 使用定时器实现数据的动态更新
setInterval(function () {
var data = [
{name: '北京',value: Math.round(Math.random() * 500)},
{name: '天津',value: Math.round(Math.random() * 500)},
{name: '河北',value: Math.round(Math.random() * 500)},
// ... 其他省份数据
];
myChart.setOption({
series: [{
data: data
}]
});
}, 1000);
通过以上10个实用案例,相信你已经对ECharts地图图表的制作方法有了初步的了解。在实际应用中,你可以根据自己的需求对案例进行修改和扩展。希望这些案例能帮助你轻松上手ECharts地图图表的制作,让数据可视化变得不再难!