ECharts 是一款使用 JavaScript 实现的开源可视化库,它提供了一系列丰富的图表类型,其中地图图表因其直观性和实用性而备受关注。在这篇文章中,我将为你介绍 10 个实用的 ECharts 地图图表案例,并分享一些实操技巧,帮助你轻松掌握地图图表的制作。
案例一:中国地图展示
案例描述
展示中国各省份的地图,并用不同颜色表示不同数据。
实操技巧
- 使用
echarts/map/js/china.js获取中国地图数据。 - 设置
series中的type为map,并指定mapType为'china'。 - 使用
data属性传递需要展示的数据。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'china',
data: [{
name: '北京',
value: 100
}, {
name: '上海',
value: 200
}]
}]
};
myChart.setOption(option);
案例二:世界地图展示
案例描述
展示世界地图,并用不同颜色表示不同国家或地区的数据。
实操技巧
- 使用
echarts/map/js/world.js获取世界地图数据。 - 设置
series中的type为map,并指定mapType为'world'。 - 使用
data属性传递需要展示的数据。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'world',
data: [{
name: 'China',
value: 100
}, {
name: 'USA',
value: 200
}]
}]
};
myChart.setOption(option);
案例三:省份地图点击事件
案例描述
在省份地图上点击某个省份,展示该省份的详细信息。
实操技巧
- 为
series中的map添加label属性,设置emphasis为true,以便在点击时显示标签。 - 为
series中的map添加click事件监听器,获取点击的省份信息。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'china',
label: {
emphasis: {
show: true
}
},
data: [{
name: '北京',
value: 100
}]
}]
};
myChart.setOption(option);
myChart.on('click', function (params) {
console.log(params.name);
});
案例四:自定义地图
案例描述
使用自定义地图数据展示特定区域的地图。
实操技巧
- 使用
echarts/map/js/custom.js获取自定义地图数据。 - 设置
series中的mapType为'custom',并传递自定义地图数据。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'custom',
data: [{
name: '自定义区域',
value: 100
}]
}]
};
myChart.setOption(option);
案例五:地图热力图
案例描述
使用地图热力图展示数据密集型信息。
实操技巧
- 设置
series中的type为heatmap。 - 使用
data属性传递数据,其中包含经纬度和值。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'heatmap',
data: [
[116.46, 39.92, 100],
[116.46, 39.92, 200]
]
}]
};
myChart.setOption(option);
案例六:地图散点图
案例描述
使用地图散点图展示地理位置数据。
实操技巧
- 设置
series中的type为scatter。 - 使用
data属性传递数据,其中包含经纬度。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'scatter',
data: [
[116.46, 39.92],
[116.46, 39.92]
]
}]
};
myChart.setOption(option);
案例七:地图组合图表
案例描述
将地图与其他图表类型组合使用,如柱状图、折线图等。
实操技巧
- 在
series中添加多个图表类型,如type为'bar'、'line'等。 - 设置
coordinateSystem属性,以便多个图表类型在同一个坐标系中显示。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'china',
coordinateSystem: 'geo',
data: [{
name: '北京',
value: 100
}]
}, {
type: 'bar',
coordinateSystem: 'geo',
data: [{
name: '北京',
value: 200
}]
}]
};
myChart.setOption(option);
案例八:地图动画效果
案例描述
为地图添加动画效果,如地图渐变、数据闪烁等。
实操技巧
- 设置
animation属性,控制动画的开启和效果。 - 使用
animationDuration和animationEasing属性控制动画的时长和缓动效果。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'china',
animation: true,
animationDuration: 1000,
animationEasing: 'bounceOut'
}]
};
myChart.setOption(option);
案例九:地图缩放和平移
案例描述
为地图添加缩放和平移功能,以便用户更好地查看地图。
实操技巧
- 设置
series中的map的roam属性为true。 - 可选:设置
series中的map的zoom和center属性,控制地图的初始缩放和平移位置。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'china',
roam: true
}]
};
myChart.setOption(option);
案例十:地图交互效果
案例描述
为地图添加交互效果,如点击事件、鼠标悬停效果等。
实操技巧
- 设置
series中的map的label属性,控制标签的显示和样式。 - 使用
emphasis属性,控制鼠标悬停时的效果。 - 可选:为
series中的map添加click事件监听器,实现交互功能。
代码示例
var myChart = echarts.init(document.getElementById('main'));
var option = {
series: [{
type: 'map',
mapType: 'china',
label: {
emphasis: {
show: true,
formatter: '{b}:{c}'
}
},
data: [{
name: '北京',
value: 100
}]
}]
};
myChart.setOption(option);
myChart.on('click', function (params) {
console.log(params.name);
});
通过以上 10 个案例,相信你已经对 ECharts 地图图表有了更深入的了解。在实际应用中,你可以根据自己的需求选择合适的案例,并结合实操技巧进行修改和调整。希望这篇文章能帮助你轻松掌握 ECharts 地图图表的制作!
