掌握ECharts地图图表:看这些实战案例轻松上手绘图

2026-10-23 0 阅读

在数据可视化领域,ECharts是一款功能强大的图表库,特别适合于展示地理信息数据。其中,地图图表是ECharts的一大亮点,能够将数据与地理位置相结合,直观地展示地域分布和空间关系。本文将通过一些实战案例,帮助大家轻松上手ECharts地图图表的绘制。

一、ECharts地图图表简介

ECharts地图图表主要基于GeoJSON格式定义的地理空间数据。GeoJSON是一种流行的地理空间数据交换格式,可以描述各种地理空间对象,如点、线、多边形等。通过GeoJSON,我们可以将地理位置信息与数据值关联起来,实现地图上的数据可视化。

二、实战案例一:中国地图上的疫情数据可视化

1. 数据准备

首先,我们需要准备中国地图的GeoJSON数据以及疫情数据。这里以中国31个省(自治区、直辖市)的疫情数据为例。

2. ECharts配置

接下来,我们使用ECharts绘制中国地图,并在地图上展示疫情数据。

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

// 基于准备好的dom,初始化echarts实例
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: ['40%', '70%'],
            avoidLabelOverlap: false,
            label: {
                show: false,
                position: 'center'
            },
            emphasis: {
                label: {
                    show: true,
                    fontSize: '30',
                    fontWeight: 'bold'
                }
            },
            labelLine: {
                show: false
            },
            data: [
                {value: 335, name: '确诊病例'},
                {value: 310, name: '疑似病例'},
                {value: 234, name: '治愈病例'},
                {value: 135, name: '死亡病例'}
            ]
        }
    ],
    geo: {
        map: 'china',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    }
};

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

3. 效果展示

通过以上代码,我们可以得到一个展示中国疫情数据分布的地图图表。地图上的每个省份都会根据疫情数据的不同颜色进行标注,直观地展示了疫情在各个地区的分布情况。

三、实战案例二:全球城市人口密度可视化

1. 数据准备

在这个案例中,我们需要准备全球各大城市的经纬度坐标和人口数据。

2. ECharts配置

使用ECharts绘制全球地图,并在地图上展示城市人口密度。

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

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '全球城市人口密度分布'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    geo: {
        map: 'world',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            name: '人口密度',
            type: 'heatmap',
            coordinateSystem: 'geo',
            data: [
                // 添加全球各大城市的人口数据
                // ...
            ],
            pointSize: 50,
            blurSize: 50
        }
    ]
};

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

3. 效果展示

通过以上代码,我们可以得到一个展示全球城市人口密度分布的地图图表。地图上的热点区域表示人口密度较高的地区,颜色越深,表示人口密度越高。

四、总结

通过以上两个实战案例,我们了解了ECharts地图图表的基本绘制方法。在实际应用中,可以根据不同的需求选择合适的地图类型、数据格式和图表样式。掌握ECharts地图图表,可以帮助我们更好地展示地理信息数据,实现数据可视化。

分享到: