新手必学:轻松上手ECharts地图图表,30个实用案例教学,助力数据分析可视化!

2026-08-31 0 阅读

1. ECharts地图图表简介

ECharts是一个使用JavaScript实现的开源可视化库,它能够帮助开发者将数据转换为可视化的图表。其中,地图图表是ECharts的一个重要组成部分,它可以将地理空间数据以直观的方式展示出来。本篇文章将带领新手轻松上手ECharts地图图表,并通过30个实用案例进行教学,助力数据分析可视化。

2. ECharts地图图表基本概念

2.1 地图数据

地图数据是地图图表的基础,它通常由经纬度坐标、名称、值等组成。ECharts提供了丰富的地图数据资源,开发者可以根据需要选择合适的地图数据。

2.2 地图类型

ECharts支持多种地图类型,如中国地图、世界地图、自定义地图等。开发者可以根据实际需求选择合适的地图类型。

2.3 地图配置项

地图配置项包括地图的背景颜色、边框样式、标注样式、事件交互等。开发者可以通过配置这些项来定制地图图表的外观和功能。

3. 30个实用案例教学

3.1 案例一:中国地图基本展示

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图基本展示'
    },
    tooltip: {},
    series: [{
        name: '中国地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ...其他省份
        ]
    }]
};

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

3.2 案例二:世界地图基本展示

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '世界地图基本展示'
    },
    tooltip: {},
    series: [{
        name: '世界地图',
        type: 'map',
        mapType: 'world',
        label: {
            show: true
        },
        data: [
            {name: '中国', value: Math.round(Math.random() * 1000)},
            {name: '美国', value: Math.round(Math.random() * 1000)},
            // ...其他国家
        ]
    }]
};

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

3.3 案例三:自定义地图展示

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '自定义地图展示'
    },
    tooltip: {},
    series: [{
        name: '自定义地图',
        type: 'map',
        mapType: 'custom',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ...其他地区
        ],
        // 自定义地图的配置
        regions: [
            {
                name: '北京',
                itemStyle: {
                    borderColor: '#ff7f50',
                    borderWidth: 2
                }
            },
            // ...其他地区的样式
        ]
    }]
};

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

3.4 案例四:地图事件交互

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图事件交互'
    },
    tooltip: {},
    series: [{
        name: '地图交互',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ...其他省份
        ],
        // 地图事件交互的配置
        label: {
            emphasis: {
                textStyle: {
                    color: '#fff',
                    fontSize: 16
                }
            }
        },
        // 鼠标事件监听
        mouseEvent: {
            click: function (params) {
                alert(params.name + ' 的数据为:' + params.value);
            }
        }
    }]
};

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

3.5 案例六:地图数据可视化(柱状图)

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图数据可视化(柱状图)'
    },
    tooltip: {},
    series: [{
        name: '柱状图',
        type: 'bar',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ...其他省份
        ],
        // 柱状图的样式配置
        itemStyle: {
            color: '#ff7f50'
        }
    }]
};

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

3.7 案例九:地图数据可视化(散点图)

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图数据可视化(散点图)'
    },
    tooltip: {},
    series: [{
        name: '散点图',
        type: 'scatter',
        mapType: 'china',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            // ...其他省份
        ],
        // 散点图的样式配置
        symbolSize: 10,
        itemStyle: {
            color: '#ff7f50'
        }
    }]
};

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

3.10 案例十三:地图数据可视化(折线图)

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图数据可视化(折线图)'
    },
    tooltip: {},
    legend: {
        data:['折线图']
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳', '杭州', '武汉', '成都']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: '折线图',
        type: 'line',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ...其他省份
        ],
        // 折线图的样式配置
        itemStyle: {
            color: '#ff7f50'
        }
    }]
};

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

3.15 案例十八:地图数据可视化(雷达图)

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图数据可视化(雷达图)'
    },
    tooltip: {},
    legend: {
        data:['雷达图']
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳', '杭州', '武汉', '成都']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: '雷达图',
        type: 'radar',
        mapType: 'china',
        data: [
            {name: '北京', value: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)]},
            {name: '上海', value: [Math.round(Math.random() * 1000), Math.round(Math.random() * 1000), Math.round(Math.random() * 1000)]},
            // ...其他省份
        ],
        // 雷达图的样式配置
        itemStyle: {
            color: '#ff7f50'
        }
    }]
};

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

3.20 案例二十三:地图数据可视化(漏斗图)

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图数据可视化(漏斗图)'
    },
    tooltip: {},
    legend: {
        data:['漏斗图']
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳', '杭州', '武汉', '成都']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: '漏斗图',
        type: 'funnel',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ...其他省份
        ],
        // 漏斗图的样式配置
        itemStyle: {
            color: '#ff7f50'
        }
    }]
};

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

3.25 案例二十八:地图数据可视化(词云图)

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图数据可视化(词云图)'
    },
    tooltip: {},
    legend: {
        data:['词云图']
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳', '杭州', '武汉', '成都']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: '词云图',
        type: 'wordCloud',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ...其他省份
        ],
        // 词云图的样式配置
        itemStyle: {
            color: '#ff7f50'
        }
    }]
};

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

3.30 案例三十一:地图数据可视化(气泡图)

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图数据可视化(气泡图)'
    },
    tooltip: {},
    legend: {
        data:['气泡图']
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳', '杭州', '武汉', '成都']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: '气泡图',
        type: 'scatter',
        mapType: 'china',
        data: [
            {name: '北京', value: [116.46, 39.92]},
            {name: '上海', value: [121.47, 31.23]},
            // ...其他省份
        ],
        // 气泡图的样式配置
        symbolSize: function (data) {
            return Math.sqrt(data.value) / 5e2;
        },
        itemStyle: {
            color: '#ff7f50'
        }
    }]
};

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

4. 总结

通过以上30个实用案例的教学,新手可以轻松上手ECharts地图图表,并将其应用于数据分析可视化。在实际应用中,开发者可以根据具体需求调整地图图表的配置项和样式,以实现更好的可视化效果。希望本文能对您有所帮助!

分享到: