新手必看!轻松学会ECharts地图图表制作:10个实用案例详解

2026-10-28 0 阅读

地图图表在现代数据可视化中扮演着重要角色,它能够直观地展示地理分布和空间关系。ECharts作为一款强大的可视化库,提供了丰富的地图图表制作功能。对于新手来说,掌握ECharts地图图表制作可能看起来有些挑战,但别担心,本文将为你提供10个实用案例,帮助你轻松入门。

案例一:中国地图基础案例

首先,我们从最简单的中国地图开始。以下是一个基本的ECharts中国地图图表的代码示例:

// 引入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: {
        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);

案例二:世界地图案例

世界地图的创建与国内地图类似,只需将mapType设置为world即可。

require('echarts/map/js/world');

// ... 其他配置与数据
var option = {
    series: [{
        name: '世界',
        type: 'map',
        mapType: 'world',
        // ... 其他配置
    }]
};

案例三:省级地图案例

如果你需要展示某个特定省份的地图,可以使用province作为mapType。

require('echarts/map/js/province');

// ... 其他配置与数据
var option = {
    series: [{
        name: '省份',
        type: 'map',
        mapType: 'province',
        // ... 其他配置
    }]
};

案例四:多地图叠加案例

在同一个图表中叠加多个地图,可以展示更复杂的数据分布。

// ... 引入地图数据
require('echarts/map/js/china');
require('echarts/map/js/world');

// ... 其他配置与数据
var option = {
    series: [{
        name: '中国',
        type: 'map',
        mapType: 'china',
        // ... 中国地图配置
    }, {
        name: '世界',
        type: 'map',
        mapType: 'world',
        // ... 世界地图配置
    }]
};

案例五:热力图案例

热力图可以用来展示数据的密集程度。

require('echarts/map/js/china');

// ... 其他配置与数据
var option = {
    series: [{
        name: '热力图',
        type: 'heatmap',
        mapType: 'china',
        data: [
            // ... 热力图数据
        ]
    }]
};

案例六:自定义地图案例

如果你有自定义的地图数据,可以通过getMap方法来加载。

// ... 其他配置与数据
var option = {
    series: [{
        name: '自定义地图',
        type: 'map',
        mapType: 'custom',
        // ... 自定义地图配置
    }]
};

案例七:地图点击事件案例

你可以为地图添加点击事件,以响应用户交互。

// ... 其他配置与数据
var option = {
    series: [{
        name: '点击事件',
        type: 'map',
        mapType: 'china',
        label: {
            show: true,
            formatter: '{b}'
        },
        // ... 其他配置
        itemStyle: {
            emphasis: {
                label: {
                    show: true
                }
            }
        },
        // ... 添加点击事件
        click: function(params) {
            console.log(params.name);
        }
    }]
};

案例八:地图动画案例

地图动画可以让你的图表更加生动。

// ... 其他配置与数据
var option = {
    series: [{
        name: '动画',
        type: 'map',
        mapType: 'china',
        // ... 其他配置
        animation: true
    }]
};

案例九:地图标签案例

地图标签可以用来突出显示特定的数据点。

// ... 其他配置与数据
var option = {
    series: [{
        name: '标签',
        type: 'map',
        mapType: 'china',
        // ... 其他配置
        label: {
            normal: {
                show: true,
                formatter: '{b}'
            },
            emphasis: {
                show: true
            }
        },
        // ... 标签配置
    }]
};

案例十:地图交互案例

地图交互可以让用户通过拖动、缩放等方式与图表进行交互。

// ... 其他配置与数据
var option = {
    series: [{
        name: '交互',
        type: 'map',
        mapType: 'china',
        // ... 其他配置
        zoom: 1.2, // 初始缩放比例
        roam: true // 开启鼠标缩放和平移
    }]
};

通过以上10个案例,你将能够掌握ECharts地图图表制作的基本技巧。当然,ECharts地图图表的功能远不止于此,随着你技能的提升,可以尝试更多的配置和技巧,创造出更加丰富和交互性强的地图图表。

分享到: