轻松学会echarts地图制作:从基础到实战,带你绘制互动地图

2026-09-20 0 阅读

在当今这个大数据和可视化时代,地图图表已经成为展示地理分布信息的重要工具。echarts,作为国内非常流行的一个可视化库,提供了丰富的图表类型,其中地图图表以其独特的功能在众多图表中脱颖而出。本篇文章将带领大家从echarts地图制作的基础开始,一步步深入,最终完成一个互动地图的制作。

一、echarts简介

首先,让我们来认识一下echarts。echarts是一个使用JavaScript实现的开源可视化库,由百度团队开发并维护。它提供了丰富的图表类型,包括但不限于折线图、柱状图、饼图、地图等,广泛应用于网站、移动应用、后台系统等领域。

二、echarts地图制作基础

2.1 引入echarts地图插件

在开始制作地图之前,我们需要首先引入echarts和对应的地图插件。以下是一个简单的HTML示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script>
    <!-- 引入世界地图数据 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/map/js/world.js"></script>
</head>
<body>
    <!-- 为 echarts 准备一个具备大小(宽高)的 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <!-- 引入 echarts.js -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        // 指定图表的配置项和数据
        var option = {
            title: {
                text: '世界地图示例'
            },
            tooltip: {},
            legend: {
                orient: 'vertical',
                left: 'left',
                data:['数量']
            },
            visualMap: {
                min: 0,
                max: 1000,
                left: 'left',
                top: 'bottom',
                text: ['高','低'],           // 文本,默认为数值文本
                calculable: true
            },
            series: [
                {
                    name: '数量',
                    type: 'map',
                    mapType: 'world',
                    roam: true,
                    label: {
                        show: false
                    },
                    data:[
                        {name: '印度',value: 879},
                        {name: '美国',value: 883},
                        // ... 其他国家
                    ]
                }
            ]
        };
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>
</body>
</html>

在上面的示例中,我们首先引入了echarts库和世界地图数据插件。然后,在<body>标签中,我们创建了一个<div>元素,并设置了其宽高,用于承载echarts实例。

2.2 配置项和数据

在上面的示例中,我们定义了一个option对象,其中包含了图表的配置项和数据。以下是对该对象的详细解析:

  • title: 图表的标题。
  • tooltip: 鼠标悬停时显示的提示框。
  • legend: 图表的图例。
  • visualMap: 颜色映射。
  • series: 图表系列,包括图表的类型、名称、地图类型、缩放等。

2.3 地图类型

echarts提供了多种地图类型,如中国地图、世界地图、美国地图等。您可以通过修改mapType属性来指定地图类型。

2.4 互动效果

echarts地图支持多种互动效果,如点击事件、鼠标悬停事件等。您可以通过配置event对象来实现这些效果。

三、实战案例:绘制互动地图

下面,我们将通过一个实战案例,来展示如何绘制一个互动地图。

3.1 需求分析

在这个案例中,我们需要绘制一个展示全球COVID-19疫情分布情况的互动地图。用户可以通过点击不同国家,查看该国的疫情数据。

3.2 数据准备

为了完成这个案例,我们需要准备以下数据:

  • 全球各国疫情数据(包括确诊人数、死亡人数等)。
  • 全球各国地图数据。

3.3 代码实现

以下是一个简单的示例代码,展示了如何绘制一个互动地图:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>COVID-19疫情分布地图</title>
    <!-- 引入 echarts.js -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script>
    <!-- 引入世界地图数据 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/map/js/world.js"></script>
</head>
<body>
    <!-- 为 echarts 准备一个具备大小(宽高)的 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('main'));
        var option = {
            title: {
                text: 'COVID-19疫情分布地图'
            },
            tooltip: {
                trigger: 'item'
            },
            visualMap: {
                min: 0,
                max: 100000,
                left: 'left',
                top: 'bottom',
                text: ['高','低'],           // 文本,默认为数值文本
                calculable: true
            },
            series: [
                {
                    name: '确诊人数',
                    type: 'map',
                    mapType: 'world',
                    roam: true,
                    label: {
                        show: true
                    },
                    data: [
                        // ... 添加各国疫情数据
                    ]
                }
            ]
        };
        myChart.setOption(option);
    </script>
</body>
</html>

在上面的代码中,我们首先引入了echarts和世界地图数据插件。然后,在option对象中,我们定义了图表的配置项和数据。通过配置data数组,我们可以添加各国的疫情数据。

四、总结

本文从echarts地图制作的基础开始,逐步深入,带领大家完成了一个互动地图的制作。通过学习本文,您应该已经掌握了echarts地图制作的基本方法,并能够独立制作各种类型的互动地图。希望本文对您有所帮助!

分享到: