新手必看!轻松上手echarts地图图表,实用案例教你轻松绘制个性化地图

2026-07-21 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它能够帮助开发者轻松地将数据以图表的形式展示出来。其中,地图图表是 ECharts 中非常实用且功能丰富的一个模块。无论是展示地理位置信息、数据分析还是进行区域对比,地图图表都能提供直观的视觉体验。下面,我们就来一步一步地学习如何使用 ECharts 地图图表,并通过一些实用案例帮助你轻松绘制个性化地图。

一、ECharts 地图图表基础

1.1 引入 ECharts 和地图数据

首先,你需要引入 ECharts 的 JavaScript 库和对应的地图数据。这里以中国地图为例,你可以从 ECharts 官网下载地图数据。

<!DOCTYPE html>
<html style="height: 100%">
<head>
    <meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
<div id="container" style="height: 100%"></div>

<!-- 引入 ECharts -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.2/echarts.min.js"></script>
<!-- 引入中国地图数据 -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.2/map/js/china.js"></script>

<script type="text/javascript">
    // 初始化地图图表
    var myChart = echarts.init(document.getElementById('container'));

    // 指定图表的配置项和数据
    var option = {
        title: {
            text: '中国地图示例'
        },
        tooltip: {
            trigger: 'item'
        },
        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);
</script>
</body>
</html>

1.2 配置项详解

在上面的代码中,我们使用了以下配置项:

  • title:图表标题。
  • tooltip:提示框组件。
  • visualMap:视觉映射组件。
  • series:系列列表。

其中,series 中的 map 类型表示地图系列,mapType 表示地图类型,roam 表示是否开启鼠标缩放和平移。

二、实用案例:绘制个性化地图

2.1 案例一:添加自定义标记

有时候,你可能需要在地图上添加一些自定义标记,比如某个城市的地标建筑。以下是一个添加自定义标记的示例:

series: [
    {
        name: '地标',
        type: 'map',
        mapType: 'china',
        // ... 其他配置项
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他省份数据
        ],
        markPoint: {
            symbol: 'pin',
            symbolSize: 50,
            data: [
                {name: '天安门', value: 100, coord: [116.397428, 39.90923]},
                // ... 其他地标数据
            ]
        }
    }
]

在上面的代码中,我们添加了 markPoint 配置项,用于添加自定义标记。symbol 表示标记的形状,symbolSize 表示标记的大小,data 表示标记的具体信息。

2.2 案例二:自定义地图颜色

默认情况下,地图的颜色是根据数据值自动生成的。但有时候,你可能需要自定义地图颜色。以下是一个自定义地图颜色的示例:

visualMap: {
    // ... 其他配置项
    pieces: [
        {min: 0, max: 500, color: '#FF6347'}, // 红色
        {min: 501, max: 1000, color: '#FFD700'}, // 金色
        // ... 其他颜色区间
    ]
}

在上面的代码中,我们使用 pieces 配置项定义了不同的颜色区间,并指定了对应的颜色。

2.3 案例三:添加地图事件

ECharts 地图图表支持多种地图事件,如点击、鼠标悬停等。以下是一个添加地图点击事件的示例:

tooltip: {
    trigger: 'item',
    formatter: function (params) {
        return params.name + ':' + params.value;
    }
},
series: [
    // ... 其他配置项
    {
        name: '销量',
        type: 'map',
        mapType: 'china',
        // ... 其他配置项
        label: {
            show: true,
            formatter: function (params) {
                return params.name;
            }
        }
    }
]

在上面的代码中,我们添加了 tooltip 配置项,用于定义鼠标悬停时的提示信息。同时,我们还在 label 配置项中定义了标签的显示内容和格式。

三、总结

通过以上学习和案例,相信你已经掌握了 ECharts 地图图表的基本用法和个性化绘制方法。在实际应用中,你可以根据自己的需求,结合各种配置项和事件,创造出更多具有创意和实用价值的地图图表。希望这篇文章能对你有所帮助!

分享到: