新手必学!轻松掌握echarts地图图表制作,实用案例详解

2026-07-15 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它能够帮助开发者轻松地生成交互式图表。其中,地图图表是 ECharts 中非常受欢迎的一个功能,因为它能够将数据以地理分布的形式直观地展示出来。对于新手来说,掌握 ECharts 地图图表的制作并不难,下面将通过一些实用案例来详细讲解如何轻松入门。

1. 地图图表基础

1.1 地图数据格式

在 ECharts 中,地图图表的数据格式通常采用 JSON 格式。一个典型的地图数据格式如下:

{
  "features": [
    {
      "type": "Feature",
      "properties": {
        "name": "北京",
        "value": 100
      },
      "geometry": {
        "type": "Point",
        "coordinates": [116.46, 39.92]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "name": "上海",
        "value": 150
      },
      "geometry": {
        "type": "Point",
        "coordinates": [121.47, 31.23]
      }
    }
  ]
}

1.2 地图配置项

ECharts 地图图表的配置项主要包括以下几个部分:

  • series:图表系列,用于定义图表的类型和样式。
  • visualMap:视觉映射组件,用于控制图表的颜色和大小等视觉属性。
  • geo:地理坐标系组件,用于定义地图的样式和位置。

2. 实用案例详解

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 type="text/javascript">
    var myChart = echarts.init(document.getElementById('container'));

    var option = {
        geo: {
            map: 'china',
            label: {
                emphasis: {
                    show: false
                }
            },
            roam: true,
            itemStyle: {
                normal: {
                    areaColor: '#323c48',
                    borderColor: '#111'
                },
                emphasis: {
                    areaColor: '#2a333d'
                }
            }
        },
        series: [
            {
                name: '人口数量',
                type: 'map',
                mapType: 'china',
                data: [
                    {name: '北京', value: 100},
                    {name: '上海', value: 150}
                ],
                label: {
                    normal: {
                        show: true
                    },
                    emphasis: {
                        show: true
                    }
                },
                itemStyle: {
                    emphasis: {
                        label: {
                            show: true
                        }
                    }
                }
            }
        ]
    };

    myChart.setOption(option);
</script>
</body>
</html>

2.2 地图数据动态更新

在实际应用中,地图数据可能需要动态更新。以下是一个使用 AJAX 获取数据并更新地图图表的案例。

<!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 type="text/javascript">
    var myChart = echarts.init(document.getElementById('container'));

    function fetchData() {
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'data.json', true);
        xhr.onreadystatechange = function () {
            if (xhr.readyState === 4 && xhr.status === 200) {
                var data = JSON.parse(xhr.responseText);
                myChart.setOption({
                    series: [
                        {
                            data: data.features
                        }
                    ]
                });
            }
        };
        xhr.send();
    }

    fetchData();
</script>
</body>
</html>

在这个案例中,我们通过 AJAX 获取了一个 JSON 格式的地图数据,并将其更新到地图图表中。

3. 总结

通过以上案例,相信你已经对 ECharts 地图图表的制作有了初步的了解。在实际应用中,你可以根据自己的需求对地图图表进行定制和优化。希望这篇文章能够帮助你轻松掌握 ECharts 地图图表的制作技巧。

分享到: