从地图到数据盛宴:ECharts地图图表实操案例大盘点

2026-10-17 0 阅读

ECharts,作为一款功能强大的前端可视化库,已经成为数据可视化领域的佼佼者。它不仅支持丰富的图表类型,还提供了强大的地图图表功能,能够将地理信息与数据完美结合。本文将深入探讨ECharts地图图表的实操案例,带你领略从地图到数据盛宴的奇妙旅程。

一、ECharts地图图表概述

ECharts地图图表是基于地理坐标系(Geo)的,它可以将地理数据与图表数据结合,实现各种地理信息的可视化。通过ECharts,我们可以轻松制作出各种地图图表,如中国地图、世界地图、行政区划地图等。

二、实操案例一:中国地图热力图

1. 数据准备

首先,我们需要准备中国地图数据和中国各省份的数据。这里以中国地图JSON文件和中国各省份GDP数据为例。

2. 代码实现

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图GDP热力图'
    },
    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: 'GDP',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: 3000},
                {name: '上海', value: 8000},
                {name: '广东', value: 9000},
                // ... 其他省份数据
            ]
        }
    ]
};

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

3. 效果展示

运行上述代码,即可得到一个中国地图GDP热力图。通过颜色深浅,我们可以直观地看到各省份GDP的高低情况。

三、实操案例二:世界地图散点图

1. 数据准备

这里以世界地图JSON文件和各国人口数据为例。

2. 代码实现

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');
// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '世界地图人口散点图'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    visualMap: {
        min: 0,
        max: 100000000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    geo: {
        map: 'world',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            name: 'Population',
            type: 'scatter',
            mapType: 'world',
            roam: true,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: 'China', value: 1400000000},
                {name: 'India', value: 1300000000},
                {name: 'USA', value: 330000000},
                // ... 其他国家数据
            ]
        }
    ]
};

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

3. 效果展示

运行上述代码,即可得到一个世界地图人口散点图。通过散点分布,我们可以直观地看到各国人口数量。

四、总结

ECharts地图图表功能强大,可以帮助我们轻松制作出各种地图图表。通过本文的两个实操案例,相信你已经对ECharts地图图表有了更深入的了解。在今后的工作中,你可以根据自己的需求,结合ECharts地图图表,创造出更多精彩的数据可视化作品。

分享到: