教你轻松掌握ECharts地图图表:10个实用案例,快速上手!

2026-10-29 0 阅读

地图图表是一种直观展示地理分布和空间关系的图表形式,而ECharts作为一款强大的数据可视化库,提供了丰富的地图图表功能。通过学习ECharts地图图表,你可以轻松地将地理数据转化为生动的视觉图表。本文将为你介绍10个实用案例,帮助你快速上手ECharts地图图表。

案例一:中国地图

1.1 案例简介

展示中国地图,并用不同颜色表示不同省份的数据。

1.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // ... 其他省份数据
            ]
        }
    ]
};

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

案例二:世界地图

2.1 案例简介

展示世界地图,并用不同颜色表示不同国家的数据。

2.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '世界地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '世界',
            type: 'map',
            mapType: 'world',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '中国', value: Math.round(Math.random() * 1000)},
                {name: '美国', value: Math.round(Math.random() * 1000)},
                // ... 其他国家数据
            ]
        }
    ]
};

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

案例三:美国地图

3.1 案例简介

展示美国地图,并用不同颜色表示不同州的数据。

3.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入美国地图数据
require('echarts/map/js/us');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '美国地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '美国',
            type: 'map',
            mapType: 'us',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '加利福尼亚州', value: Math.round(Math.random() * 1000)},
                {name: '纽约州', value: Math.round(Math.random() * 1000)},
                // ... 其他州数据
            ]
        }
    ]
};

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

案例四:欧洲地图

4.1 案例简介

展示欧洲地图,并用不同颜色表示不同国家的数据。

4.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入欧洲地图数据
require('echarts/map/js/europe');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '欧洲地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '欧洲',
            type: 'map',
            mapType: 'europe',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '法国', value: Math.round(Math.random() * 1000)},
                {name: '德国', value: Math.round(Math.random() * 1000)},
                // ... 其他国家数据
            ]
        }
    ]
};

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

案例五:中国城市地图

5.1 案例简介

展示中国城市地图,并用不同颜色表示不同城市的数据。

5.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入中国城市地图数据
require('echarts/map/js/china-cities');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国城市地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '中国城市',
            type: 'map',
            mapType: 'china-cities',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '北京市', value: Math.round(Math.random() * 1000)},
                {name: '上海市', value: Math.round(Math.random() * 1000)},
                // ... 其他城市数据
            ]
        }
    ]
};

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

案例六:美国州县地图

6.1 案例简介

展示美国州县地图,并用不同颜色表示不同县的数据。

6.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入美国州县地图数据
require('echarts/map/js/us-counties');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '美国州县地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '美国州县',
            type: 'map',
            mapType: 'us-counties',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '加利福尼亚州', value: Math.round(Math.random() * 1000)},
                {name: '纽约州', value: Math.round(Math.random() * 1000)},
                // ... 其他县数据
            ]
        }
    ]
};

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

案例七:欧洲城市地图

7.1 案例简介

展示欧洲城市地图,并用不同颜色表示不同城市的数据。

7.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入欧洲城市地图数据
require('echarts/map/js/europe-cities');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '欧洲城市地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '欧洲城市',
            type: 'map',
            mapType: 'europe-cities',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '巴黎', value: Math.round(Math.random() * 1000)},
                {name: '柏林', value: Math.round(Math.random() * 1000)},
                // ... 其他城市数据
            ]
        }
    ]
};

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

案例八:中国省市区地图

8.1 案例简介

展示中国省市区地图,并用不同颜色表示不同市区的数据。

8.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入中国省市区地图数据
require('echarts/map/js/china-province-city');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国省市区地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '中国省市区',
            type: 'map',
            mapType: 'china-province-city',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '北京市', value: Math.round(Math.random() * 1000)},
                {name: '上海市', value: Math.round(Math.random() * 1000)},
                // ... 其他市区数据
            ]
        }
    ]
};

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

案例九:世界国家地图

9.1 案例简介

展示世界国家地图,并用不同颜色表示不同国家的数据。

9.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入世界国家地图数据
require('echarts/map/js/world-countries');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '世界国家地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [
        {
            name: '世界国家',
            type: 'map',
            mapType: 'world-countries',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '中国', value: Math.round(Math.random() * 1000)},
                {name: '美国', value: Math.round(Math.random() * 1000)},
                // ... 其他国家数据
            ]
        }
    ]
};

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

案例十:中国地理信息查询

10.1 案例简介

展示中国地理信息查询功能,通过输入城市名或拼音,查询该城市的经纬度信息。

10.2 代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地理信息查询示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: true
            },
            data: [
                {name: '北京市', value: [116.46, 39.92]},
                {name: '上海市', value: [121.47, 31.23]},
                // ... 其他城市数据
            ]
        }
    ]
};

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

// 查询城市经纬度
function queryCityCoordinate(cityName) {
    var data = option.series[0].data;
    for (var i = 0; i < data.length; i++) {
        if (data[i].name === cityName) {
            return data[i].value;
        }
    }
    return null;
}

// 示例:查询北京经纬度
var beijingCoordinate = queryCityCoordinate('北京市');
console.log(beijingCoordinate);

通过以上10个案例,相信你已经对ECharts地图图表有了初步的了解。在实际应用中,你可以根据自己的需求选择合适的地图类型和数据,并通过调整配置项来实现各种效果。希望这篇文章能帮助你轻松掌握ECharts地图图表,为你的数据可视化之旅增添更多色彩!

分享到: