学会echarts地图图表:轻松打造可视化地理数据,实用案例解析

2026-08-23 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了一系列丰富的图表类型,包括地图图表。地图图表可以将地理数据以直观的方式展示出来,非常适合展示地理位置信息、区域分布等。本文将带您了解如何使用 ECharts 地图图表,并通过一些实用案例来解析其应用。

一、ECharts 地图图表的基本使用

1.1 引入 ECharts 和地图数据

首先,您需要在 HTML 文件中引入 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.3/echarts.min.js"></script>
    <!-- 引入中国地图数据 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/map/js/china.js"></script>
    <script type="text/javascript">
        // 初始化地图图表
        var myChart = echarts.init(document.getElementById('container'));
        // 配置地图图表
        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);
    </script>
</body>
</html>

1.2 配置地图图表

在上面的示例中,我们配置了一个包含中国地图的图表。以下是一些常见的配置项:

  • title:图表标题。
  • tooltip:提示框组件,用于显示鼠标悬停时对应的数据。
  • series:图表系列,包含地图系列配置。
    • name:系列名称。
    • type:图表类型,这里为 map
    • mapType:地图类型,如 china 表示中国地图。
    • label:标签配置,用于显示省份名称。
    • data:数据数组,包含每个省份的名称和值。

二、实用案例解析

2.1 地图热力图

热力图可以直观地展示不同区域的数值差异。以下是一个使用 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>
    <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/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: 1000,
                left: 'left',
                top: 'bottom',
                text: ['高','低'],           // 文本,默认为数值文本
                calculable: true
            },
            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);
    </script>
</body>
</html>

2.2 地图点击事件

地图点击事件可以用于获取点击省份的名称和值。以下是一个示例:

<!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>
    <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/map/js/china.js"></script>
    <script type="text/javascript">
        var myChart = echarts.init(document.getElementById('container'));
        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);
        // 监听点击事件
        myChart.on('click', function (params) {
            console.log(params.name + ':' + params.value);
        });
    </script>
</body>
</html>

三、总结

通过本文的介绍,相信您已经掌握了 ECharts 地图图表的基本使用方法和一些实用案例。在实际应用中,您可以结合自己的需求,对地图图表进行个性化的配置和扩展。希望本文对您有所帮助!

分享到: