ECharts是一款功能强大的JavaScript图表库,它支持多种类型的图表,其中包括地图图表。地图图表能够将数据与地理位置相结合,使得数据分析更加直观和生动。本篇文章将为你带来20个实用的ECharts地图图表案例,帮助你轻松入门数据分析。
案例一:中国地图省份分布
案例描述
展示中国各省份的人口分布情况。
实现步骤
- 准备中国地图的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '中国各省份人口分布'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '人口',
type: 'map',
mapType: 'china',
data: [
{name: '北京', value: 2154.2},
{name: '上海', value: 2425.27},
// ... 其他省份数据
]
}]
};
myChart.setOption(option);
案例二:全球地图国家分布
案例描述
展示全球各国家的GDP分布情况。
实现步骤
- 准备全球地图的JSON数据。
- 使用ECharts的
echarts/map/js/world.js引入全球地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '全球各国GDP分布'
},
tooltip: {
trigger: 'item'
},
series: [{
name: 'GDP',
type: 'map',
mapType: 'world',
data: [
{name: 'United States', value: 210932},
{name: 'China', value: 114367},
// ... 其他国家数据
]
}]
};
myChart.setOption(option);
案例三:城市地图区域分布
案例描述
展示某个城市各区域的人口密度分布情况。
实现步骤
- 准备城市地图的JSON数据。
- 使用ECharts的
echarts/map/js/city.js引入城市地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '城市各区域人口密度分布'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '人口密度',
type: 'map',
mapType: 'city',
data: [
{name: '市中心', value: 10000},
{name: '郊区', value: 5000},
// ... 其他区域数据
]
}]
};
myChart.setOption(option);
案例四:行政区划边界展示
案例描述
展示某个行政区划的边界情况。
实现步骤
- 准备行政区划的JSON数据。
- 使用ECharts的
echarts/map/js/province.js引入行政区划地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '行政区划边界展示'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '行政区划',
type: 'map',
mapType: 'province',
data: [
{name: '北京', selected: true},
{name: '天津'},
// ... 其他行政区划数据
]
}]
};
myChart.setOption(option);
案例五:地图热力图
案例描述
展示某个地区的温度分布情况。
实现步骤
- 准备温度数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地区温度分布'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '温度',
type: 'heatmap',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 15]},
{name: '上海', value: [121.47, 31.23, 18]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例六:地图散点图
案例描述
展示某个地区的疫情分布情况。
实现步骤
- 准备疫情数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地区疫情分布'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '疫情',
type: 'scatter',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 100]},
{name: '上海', value: [121.47, 31.23, 150]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例七:地图折线图
案例描述
展示某个地区的降雨量变化情况。
实现步骤
- 准备降雨量数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地区降雨量变化'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '降雨量',
type: 'line',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 50]},
{name: '上海', value: [121.47, 31.23, 80]},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例八:地图柱状图
案例描述
展示某个地区的GDP排名情况。
实现步骤
- 准备GDP排名数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地区GDP排名'
},
tooltip: {
trigger: 'item'
},
series: [{
name: 'GDP',
type: 'bar',
coordinateSystem: 'geo',
data: [
{name: '北京', value: 210932},
{name: '上海', value: 242527},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
案例九:地图饼图
案例描述
展示某个地区的产业分布情况。
实现步骤
- 准备产业分布数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地区产业分布'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '产业',
type: 'pie',
coordinateSystem: 'geo',
data: [
{name: '第一产业', value: 1000},
{name: '第二产业', value: 2000},
{name: '第三产业', value: 3000}
]
}]
};
myChart.setOption(option);
案例十:地图组合图表
案例描述
展示某个地区的疫情、降雨量、GDP排名和产业分布情况。
实现步骤
- 准备疫情、降雨量、GDP排名和产业分布数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '地区综合信息'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '疫情',
type: 'scatter',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 100]},
{name: '上海', value: [121.47, 31.23, 150]},
// ... 其他地区数据
]
}, {
name: '降雨量',
type: 'line',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 50]},
{name: '上海', value: [121.47, 31.23, 80]},
// ... 其他地区数据
]
}, {
name: 'GDP',
type: 'bar',
coordinateSystem: 'geo',
data: [
{name: '北京', value: 210932},
{name: '上海', value: 242527},
// ... 其他地区数据
]
}, {
name: '产业',
type: 'pie',
coordinateSystem: 'geo',
data: [
{name: '第一产业', value: 1000},
{name: '第二产业', value: 2000},
{name: '第三产业', value: 3000}
]
}]
};
myChart.setOption(option);
案例十一:地图动画效果
案例描述
展示某个地区的疫情传播过程。
实现步骤
- 准备疫情传播数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
- 添加动画效果,使疫情传播过程更加生动。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: '疫情传播过程'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '疫情',
type: 'lines',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 100]},
{name: '上海', value: [121.47, 31.23, 150]},
// ... 其他地区数据
],
effect: {
show: true,
period: 6,
trailLength: 0.7,
color: '#fff',
symbolSize: 3
}
}]
};
myChart.setOption(option);
案例十二:地图点击事件
案例描述
展示某个地区的疫情详细信息。
实现步骤
- 准备疫情数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
- 添加点击事件,当用户点击某个地区时,显示该地区的疫情详细信息。
代码示例
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: 150},
// ... 其他地区数据
],
label: {
show: true,
formatter: function (params) {
return params.name + ':' + params.value;
}
}
}]
};
myChart.setOption(option);
myChart.on('click', function (params) {
console.log(params.name + ':' + params.value);
});
案例十三:地图缩放与平移
案例描述
展示某个地区的疫情分布情况,并支持用户进行地图缩放和平移操作。
实现步骤
- 准备疫情数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
- 设置地图的缩放和平移参数,使用户能够自由操作地图。
代码示例
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: 150},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
myChart.on('click', function (params) {
myChart.dispatchAction({
type: 'geoZoom',
seriesIndex: 0,
data: [params.name]
});
});
案例十四:地图数据动态更新
案例描述
展示某个地区的疫情分布情况,并支持数据动态更新。
实现步骤
- 准备疫情数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
- 使用定时器或事件监听器,定期更新数据。
代码示例
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: 150},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
function updateData() {
// 更新数据
var newData = [
{name: '北京', value: 110},
{name: '上海', value: 160},
// ... 其他地区数据
];
myChart.setOption({
series: [{
data: newData
}]
});
}
setInterval(updateData, 1000);
案例十五:地图数据筛选
案例描述
展示某个地区的疫情分布情况,并支持用户筛选数据。
实现步骤
- 准备疫情数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
- 添加筛选功能,允许用户选择要显示的数据。
代码示例
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: 150},
// ... 其他地区数据
]
}]
};
myChart.setOption(option);
function filterData(filterName) {
var newData = [];
var data = myChart.getOption().series[0].data;
for (var i = 0; i < data.length; i++) {
if (data[i].name === filterName) {
newData.push(data[i]);
}
}
myChart.setOption({
series: [{
data: newData
}]
});
}
// 添加筛选按钮
var filterButton = document.createElement('button');
filterButton.innerHTML = '筛选';
filterButton.onclick = function () {
filterData('北京');
};
document.body.appendChild(filterButton);
案例十六:地图数据聚合
案例描述
展示某个地区的疫情分布情况,并支持数据聚合。
实现步骤
- 准备疫情数据的JSON数据。
- 使用ECharts的
echarts/map/js/china.js引入中国地图。 - 配置地图图表的基本参数,如标题、地图类型、数据等。
- 使用ECharts的
heatmap系列实现数据聚合效果。
代码示例
”`javascript var myChart = echarts.init(document.getElementById(‘main’));
var option = {
title: {
text: '地区疫情分布'
},
tooltip: {
trigger: 'item'
},
series: [{
name: '疫情',
type: 'heatmap',
coordinateSystem: 'geo',
data: [
{name: '北京', value: [116.46, 39.92, 100]},
{name