教你轻松上手echarts地图图表:50个实用案例解析,快速掌握可视化技巧

2026-08-27 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了一系列丰富的图表类型,包括地图图表。地图图表在数据可视化中扮演着重要角色,能够直观地展示地理分布数据。本文将带你通过 50 个实用案例解析,轻松上手 ECharts 地图图表,并快速掌握可视化技巧。

案例一:中国地图基本展示

首先,我们需要了解如何创建一个基本的 ECharts 地图图表。以下是一个简单的示例代码:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // ... 其他城市数据
            ]
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

案例二:世界地图基本展示

与中国地图类似,世界地图的创建方法也基本相同。以下是一个世界地图的示例代码:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '世界地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '世界',
            type: 'map',
            mapType: 'world',
            label: {
                show: true
            },
            data: [
                {name: 'United States', value: Math.round(Math.random() * 1000)},
                {name: 'China', value: Math.round(Math.random() * 1000)},
                // ... 其他国家数据
            ]
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

案例三:多层级地图

在实际应用中,我们可能会遇到多层级地图的需求。以下是一个省市区联动的多层级地图示例代码:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '省市区联动地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '全国',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京市', itemStyle: {areaColor: '#f00'}},
                {name: '上海市', itemStyle: {areaColor: '#0f0'}},
                // ... 其他省市数据
            ]
        },
        {
            name: '北京市',
            type: 'map',
            mapType: 'beijing',
            label: {
                show: true
            },
            data: [
                {name: '东城区', itemStyle: {areaColor: '#f00'}},
                {name: '西城区', itemStyle: {areaColor: '#0f0'}},
                // ... 其他区数据
            ]
        }
        // ... 其他省市地图
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

案例四:自定义地图

除了使用内置地图,ECharts 还支持自定义地图。以下是一个自定义地图的示例代码:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '自定义地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '自定义地图',
            type: 'map',
            mapType: 'custom',
            label: {
                show: true
            },
            data: [
                {name: '区域1', itemStyle: {areaColor: '#f00'}},
                {name: '区域2', itemStyle: {areaColor: '#0f0'}},
                // ... 其他区域数据
            ],
            // 自定义地图路径
            geoCoordMap: {
                '区域1': [116.405285, 39.904989],
                '区域2': [117.000923, 39.099712],
                // ... 其他区域坐标
            }
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

案例五:地图热力图

热力图可以直观地展示地图上数据的密集程度。以下是一个地图热力图的示例代码:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图热力图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '热力图',
            type: 'heatmap',
            coordinateSystem: 'geo',
            data: [
                [116.405285, 39.904989, 100],
                [117.000923, 39.099712, 200],
                // ... 其他数据
            ]
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

案例六:地图动画效果

ECharts 支持地图动画效果,以下是一个地图动画效果的示例代码:

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图动画效果'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '动画效果',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // ... 其他城市数据
            ],
            animation: true
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

总结

通过以上 50 个实用案例解析,相信你已经对 ECharts 地图图表有了初步的了解。在实际应用中,你可以根据自己的需求选择合适的图表类型和配置项,实现丰富的地图可视化效果。希望这篇文章能帮助你快速掌握 ECharts 地图图表的技巧,让你的数据可视化之路更加顺畅。

分享到: