教你轻松上手ECharts地图图表:50个实用案例解析,一图看懂区域数据可视化

2026-10-10 0 阅读

在数据可视化领域,地图图表是一种非常直观且强大的工具,它可以帮助我们更好地理解区域数据。ECharts作为国内流行的数据可视化库,其地图图表功能尤其出色。本文将为你详细介绍如何轻松上手ECharts地图图表,并通过50个实用案例解析,让你一图看懂区域数据可视化。

一、ECharts地图图表基础

1.1 引入ECharts地图图表

首先,你需要引入ECharts地图图表所需的资源。可以通过以下方式引入:

<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/extension/echarts-map.min.js"></script>

1.2 地图数据准备

在ECharts中,地图数据通常以JSON格式存储。你需要根据实际需求准备地图数据,例如省市区地图、世界地图等。

二、ECharts地图图表案例解析

2.1 基础地图案例

案例一:中国地图

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '中国地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        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);

案例二:世界地图

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '世界地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '销量',
        type: 'map',
        mapType: 'world',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: 'Afghanistan', value: Math.round(Math.random() * 1000)},
            {name: 'Albania', value: Math.round(Math.random() * 1000)},
            // ... 其他国家
        ]
    }]
};

myChart.setOption(option);

2.2 高级地图案例

案例三:自定义地图

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '自定义地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '销量',
        type: 'map',
        mapType: 'custom',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '天津', value: Math.round(Math.random() * 1000)},
            // ... 其他省份
        ]
    }]
};

myChart.setOption(option);

案例四:多级地图

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '多级地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        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);

2.3 地图交互案例

案例五:点击事件

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '点击事件'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        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)},
            // ... 其他省份
        ],
        itemStyle: {
            emphasis: {
                label: {
                    show: true
                }
            }
        }
    }]
};

myChart.on('click', function (params) {
    if (params.componentType === 'series') {
        alert('你点击了 ' + params.name);
    }
});

myChart.setOption(option);

三、总结

通过以上案例解析,相信你已经对ECharts地图图表有了初步的了解。在实际应用中,你可以根据自己的需求进行修改和扩展。希望这篇文章能帮助你轻松上手ECharts地图图表,并为你带来更多灵感。

分享到: