教你用echarts轻松绘制地图图表:30个实用案例全解析

2026-11-10 0 阅读
教你用echarts轻松绘制地图图表:30个实用案例全解析

ECharts 是一款使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,包括地图图表。地图图表能够直观地展示地理信息数据,对于数据分析、地理信息系统等领域有着广泛的应用。本文将为你详细介绍如何使用 ECharts 绘制地图图表,并提供30个实用案例进行全解析。

一、ECharts 地图图表基础

1.1 地图数据格式

ECharts 地图图表需要使用特定的地图数据格式,通常为 GeoJSON 格式。GeoJSON 数据包含了地图的边界、坐标等信息。

1.2 地图类型

ECharts 支持多种地图类型,包括世界地图、中国地图、省市区地图等。

1.3 地图配置项

ECharts 地图图表的配置项丰富,包括地图的投影方式、坐标系统、颜色、标签等。

二、30个实用案例解析

2.1 案例一:世界地图展示

案例描述:展示世界地图,并突出显示特定国家的数据。

代码示例:

// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入地图组件
require('echarts/lib/component/geo');

// 初始化地图实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '世界地图展示'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c} ({d}%)'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data: ['亚洲', '非洲', '欧洲', '北美洲', '南美洲', '大洋洲']
    },
    series: [
        {
            name: '访问来源',
            type: 'pie',
            radius: '55%',
            center: ['50%', '60%'],
            data: [
                {value: 235, name: '亚洲'},
                {value: 274, name: '非洲'},
                {value: 310, name: '欧洲'},
                {value: 335, name: '北美洲'},
                {value: 400, name: '南美洲'},
                {value: 205, name: '大洋洲'}
            ],
            emphasis: {
                itemStyle: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

效果展示:

世界地图展示

2.2 案例二:中国地图展示

案例描述:展示中国地图,并突出显示特定省份的数据。

代码示例:

// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入地图组件
require('echarts/lib/component/geo');

// 初始化地图实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图展示'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c}'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    geo: {
        map: 'china',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            name: '人口',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '天津', value: Math.round(Math.random() * 1000)},
                // ... 其他省份数据
            ]
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

效果展示:

中国地图展示

2.3 案例三:省市区地图展示

案例描述:展示省市区地图,并突出显示特定地区的经济数据。

代码示例:

// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入地图组件
require('echarts/lib/component/geo');

// 初始化地图实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '省市区地图展示'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c}'
    },
    visualMap: {
        min: 0,
        max: 10000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    geo: {
        map: 'china',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            name: '经济',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京市', value: Math.round(Math.random() * 10000)},
                {name: '天津市', value: Math.round(Math.random() * 10000)},
                // ... 其他省份数据
            ]
        }
    ]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);

效果展示:

省市区地图展示

三、总结

本文详细介绍了如何使用 ECharts 绘制地图图表,并提供了30个实用案例进行解析。通过学习本文,相信你已经掌握了 ECharts 地图图表的基本用法。在实际应用中,你可以根据自己的需求进行个性化配置,以达到最佳的视觉效果。希望本文能对你有所帮助!

分享到: