新手必看!轻松学会使用echarts制作各种地图图表

2026-10-09 0 阅读

引言

ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,包括地图图表。地图图表可以直观地展示地理分布和空间关系,非常适合数据可视化。对于新手来说,掌握 ECharts 制作地图图表的技巧可以大大提升数据展示的效果。本文将带你一步步学会使用 ECharts 制作各种地图图表。

准备工作

在开始之前,你需要做好以下准备工作:

  1. 环境搭建:确保你的开发环境中已安装 Node.js 和 npm(Node.js 包管理器)。
  2. 引入 ECharts:可以通过 CDN 链接或者下载 ECharts 的源码到本地引入。
  3. 准备数据:地图图表需要相应的地理数据,可以从 ECharts 官网下载或自行获取。

基础地图图表

1. 创建基本地图

以下是一个创建基本地图图表的示例代码:

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图'
    },
    tooltip: {},
    legend: {
        orient: 'vertical',
        left: 'left',
        data:['北京', '上海', '广州', '深圳']
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '北京',
            type: 'map',
            mapType: 'china',
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: Math.round(Math.random()*1000)}
            ]
        }
    ]
};

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

2. 自定义地图

如果你需要展示特定区域的地图,可以使用自定义地图。以下是一个示例:

// 自定义中国地图
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '自定义地图'
    },
    tooltip: {},
    legend: {
        orient: 'vertical',
        left: 'left',
        data:['北京', '上海', '广州', '深圳']
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '北京',
            type: 'map',
            mapType: 'custom', // 自定义地图
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京',value: Math.round(Math.random()*1000)}
            ],
            // 自定义区域
            regions: [{
                name: '北京',
                itemStyle: {
                    normal: {
                        areaColor: '#ff7f50',
                        borderColor: '#FF4500',
                        borderWidth: 1
                    }
                }
            }]
        }
    ]
};

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

高级地图图表

1. 地图交互

ECharts 支持地图的交互功能,如点击事件、缩放等。以下是一个示例:

// 地图交互
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    series: [
        {
            // ... 其他系列配置
            markPoint: {
                symbol: 'pin',
                symbolSize: 50,
                data: [
                    {name: '北京', value: [116.46, 39.92]}
                ],
                label: {
                    formatter: '{b}'
                }
            }
        }
    ]
};

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

// 监听点击事件
myChart.on('click', function (params) {
    if (params.componentType === 'series') {
        alert('点击了 ' + params.name + ',值为 ' + params.value);
    }
});

2. 动画效果

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

// 地图动画效果
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    series: [
        {
            // ... 其他系列配置
            animation: true,
            markPoint: {
                symbol: 'pin',
                symbolSize: 50,
                data: [
                    {name: '北京', value: [116.46, 39.92]}
                ],
                label: {
                    formatter: '{b}'
                }
            }
        }
    ]
};

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

总结

通过本文的学习,相信你已经掌握了使用 ECharts 制作各种地图图表的基本技巧。在实际应用中,你可以根据自己的需求调整地图样式、数据、动画效果等,使地图图表更加生动、直观。希望这篇文章能帮助你更好地展示数据,让你的作品更具吸引力。

分享到: