新手必看!ECharts地图图表轻松入门,20个实用案例助你快速掌握!

2026-08-21 0 阅读

1. ECharts简介

ECharts是一个使用JavaScript实现的开源可视化库,它提供了一系列丰富的图表类型,包括地图图表。地图图表可以用来展示地理空间数据,是数据可视化中非常重要的一种形式。在ECharts中,地图图表支持多种地图类型,如中国地图、世界地图等,并且可以通过自定义来展示各种地理信息。

2. ECharts地图图表基本用法

2.1 引入ECharts

首先,你需要引入ECharts库。可以通过CDN链接或者下载ECharts库到本地引入。

<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.2/echarts.min.js"></script>

2.2 初始化地图图表

在HTML中创建一个容器元素,用于放置地图图表。

<div id="main" style="width: 600px;height:400px;"></div>

然后,使用JavaScript初始化地图图表。

var myChart = echarts.init(document.getElementById('main'));

2.3 配置地图图表

使用option对象配置地图图表的各项属性。

var option = {
    title: {
        text: '世界地图示例'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '数据',
            type: 'map',
            mapType: 'world',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '阿富汗',value: 10},
                {name: '阿根廷',value: 20}
            ]
        }
    ]
};

2.4 渲染地图图表

最后,将配置好的option对象赋值给myChart对象的setOption方法,即可渲染地图图表。

myChart.setOption(option);

3. 20个实用案例

3.1 中国地图

使用中国地图展示不同省份的GDP数据。

option = {
    // ... 其他配置
    series: [
        {
            name: 'GDP',
            type: 'map',
            mapType: 'china',
            // ... 其他配置
            data: [
                {name: '北京',value: 1000},
                {name: '上海',value: 2000}
            ]
        }
    ]
};

3.2 世界地图

展示世界各国的GDP数据。

option = {
    // ... 其他配置
    series: [
        {
            name: 'GDP',
            type: 'map',
            mapType: 'world',
            // ... 其他配置
            data: [
                {name: 'Afghanistan',value: 10},
                {name: 'Argentina',value: 20}
            ]
        }
    ]
};

3.3 地图热力图

使用热力图展示不同区域的温度分布。

option = {
    // ... 其他配置
    series: [
        {
            name: '温度',
            type: 'heatmap',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [116.46,39.92,15]},
                {name: '上海',value: [121.47,31.23,18]}
            ]
        }
    ]
};

3.4 地图迁徙图

展示人口迁徙路径。

option = {
    // ... 其他配置
    series: [
        {
            name: '迁徙',
            type: 'lines',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [116.46,39.92]},
                {name: '上海',value: [121.47,31.23]}
            ]
        }
    ]
};

3.5 地图比例尺图

展示不同区域的人口密度。

option = {
    // ... 其他配置
    series: [
        {
            name: '人口密度',
            type: 'gauge',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: 2000},
                {name: '上海',value: 3000}
            ]
        }
    ]
};

3.6 地图雷达图

展示不同区域的经济发展水平。

option = {
    // ... 其他配置
    series: [
        {
            name: '经济发展',
            type: 'radar',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [10, 20, 30, 40, 50]},
                {name: '上海',value: [20, 30, 40, 50, 60]}
            ]
        }
    ]
};

3.7 地图柱状图

展示不同区域的工业产值。

option = {
    // ... 其他配置
    series: [
        {
            name: '工业产值',
            type: 'bar',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: 1000},
                {name: '上海',value: 2000}
            ]
        }
    ]
};

3.8 地图折线图

展示不同区域的气温变化。

option = {
    // ... 其他配置
    series: [
        {
            name: '气温',
            type: 'line',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [15, 20, 25, 30]},
                {name: '上海',value: [18, 22, 27, 32]}
            ]
        }
    ]
};

3.9 地图散点图

展示不同区域的降水量。

option = {
    // ... 其他配置
    series: [
        {
            name: '降水量',
            type: 'scatter',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [100, 20]},
                {name: '上海',value: [200, 30]}
            ]
        }
    ]
};

3.10 地图饼图

展示不同区域的旅游人数占比。

option = {
    // ... 其他配置
    series: [
        {
            name: '旅游人数',
            type: 'pie',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: 100},
                {name: '上海',value: 200}
            ]
        }
    ]
};

3.11 地图环形图

展示不同区域的交通流量占比。

option = {
    // ... 其他配置
    series: [
        {
            name: '交通流量',
            type: 'ring',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: 100},
                {name: '上海',value: 200}
            ]
        }
    ]
};

3.12 地图气泡图

展示不同区域的空气质量指数。

option = {
    // ... 其他配置
    series: [
        {
            name: '空气质量',
            type: 'bubble',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [100, 20]},
                {name: '上海',value: [200, 30]}
            ]
        }
    ]
};

3.13 地图水波纹图

展示不同区域的地震震级。

option = {
    // ... 其他配置
    series: [
        {
            name: '地震震级',
            type: 'wave',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [100, 20]},
                {name: '上海',value: [200, 30]}
            ]
        }
    ]
};

3.14 地图流线图

展示不同区域的河流流向。

option = {
    // ... 其他配置
    series: [
        {
            name: '河流流向',
            type: 'streamline',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [116.46,39.92]},
                {name: '上海',value: [121.47,31.23]}
            ]
        }
    ]
};

3.15 地图点状图

展示不同区域的气象站点。

option = {
    // ... 其他配置
    series: [
        {
            name: '气象站点',
            type: 'point',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [116.46,39.92]},
                {name: '上海',value: [121.47,31.23]}
            ]
        }
    ]
};

3.16 地图弧线图

展示不同区域的航线。

option = {
    // ... 其他配置
    series: [
        {
            name: '航线',
            type: 'arc',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [116.46,39.92]},
                {name: '上海',value: [121.47,31.23]}
            ]
        }
    ]
};

3.17 地图矩形图

展示不同区域的行政区域边界。

option = {
    // ... 其他配置
    series: [
        {
            name: '行政区域',
            type: 'rectangle',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [116.46,39.92]},
                {name: '上海',value: [121.47,31.23]}
            ]
        }
    ]
};

3.18 地图圆形图

展示不同区域的地理坐标点。

option = {
    // ... 其他配置
    series: [
        {
            name: '地理坐标',
            type: 'circle',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [116.46,39.92]},
                {name: '上海',value: [121.47,31.23]}
            ]
        }
    ]
};

3.19 地图多边形图

展示不同区域的地理形状。

option = {
    // ... 其他配置
    series: [
        {
            name: '地理形状',
            type: 'polygon',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [[116.46,39.92],[116.46,39.91],[116.47,39.91],[116.47,39.92]]},
                {name: '上海',value: [[121.47,31.23],[121.47,31.22],[121.48,31.22],[121.48,31.23]]}
            ]
        }
    ]
};

3.20 地图多边区图

展示不同区域的地理区域。

option = {
    // ... 其他配置
    series: [
        {
            name: '地理区域',
            type: 'multipolygon',
            coordinateSystem: 'geo',
            data: [
                {name: '北京',value: [[116.46,39.92],[116.46,39.91],[116.47,39.91],[116.47,39.92]]},
                {name: '上海',value: [[121.47,31.23],[121.47,31.22],[121.48,31.22],[121.48,31.23]]}
            ]
        }
    ]
};

通过以上20个实用案例,相信你已经对ECharts地图图表有了更深入的了解。在实际应用中,你可以根据自己的需求进行修改和扩展,创造出更多有趣和实用的地图图表。

分享到: