新手必看!轻松上手echarts地图图表,30个实用案例解析,助你高效可视化数据处理

2026-10-30 0 阅读

在当今信息爆炸的时代,数据可视化成为了展示和分析数据的重要手段。ECharts 作为一款功能强大、易于使用的 JavaScript 库,可以帮助开发者轻松实现各种数据图表的绘制。本文将为你带来 30 个 ECharts 地图图表的实用案例解析,让你快速上手,高效地进行数据处理和可视化。

一、ECharts 地图图表概述

1.1 什么是 ECharts?

ECharts 是一个使用 JavaScript 实现的开源可视化库,可以轻松地在网页中绘制各种图表,包括折线图、柱状图、饼图、地图等。它具有丰富的图表类型和丰富的配置选项,非常适合用于数据可视化。

1.2 ECharts 地图图表的特点

  • 功能丰富:支持多种地图类型,如中国地图、世界地图、省市地图等。
  • 自定义性强:可以通过配置项自定义地图的样式、颜色、标签等。
  • 交互性强:支持鼠标滚轮、点击等交互操作,增强用户体验。

二、30个 ECharts 地图图表实用案例解析

2.1 案例一:中国地图展示

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '中国地图'
    },
    tooltip: {
        trigger: 'item'
    },
    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);

2.2 案例二:世界地图展示

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '世界地图'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    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);

2.3 案例三:省市地图展示

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '省市地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '省市',
            type: 'map',
            mapType: 'province',
            label: {
                show: true
            },
            data: [
                {name: '广东省', value: Math.round(Math.random() * 1000)},
                {name: '山东省', value: Math.round(Math.random() * 1000)},
                // 其他省市...
            ]
        }
    ]
};

myChart.setOption(option);

2.4 案例四:自定义地图样式

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '自定义地图样式'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '自定义',
            type: 'map',
            mapType: 'province',
            label: {
                show: true,
                color: '#fff',
                textStyle: {
                    color: '#000'
                }
            },
            itemStyle: {
                color: '#333',
                borderColor: '#fff'
            },
            data: [
                {name: '广东省', value: Math.round(Math.random() * 1000)},
                {name: '山东省', value: Math.round(Math.random() * 1000)},
                // 其他省市...
            ]
        }
    ]
};

myChart.setOption(option);

2.5 案例六:地图与折线图结合

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与折线图结合'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    series: [
        {
            name: '地图',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // 其他省市...
            ]
        },
        {
            name: '折线图',
            type: 'line',
            coordinateSystem: 'geo',
            data: [
                {name: '北京', value: [116.46, 39.92]},
                {name: '上海', value: [121.47, 31.23]},
                // 其他省市...
            ]
        }
    ]
};

myChart.setOption(option);

2.7 案例九:地图热点图

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图热点图'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{b}: {c}'
    },
    series: [
        {
            name: '热点图',
            type: 'heatmap',
            coordinateSystem: 'geo',
            data: [
                {name: '北京', value: [116.46, 39.92]},
                {name: '上海', value: [121.47, 31.23]},
                // 其他省市...
            ]
        }
    ]
};

myChart.setOption(option);

2.10 案例十三:地图与饼图结合

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与饼图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '地图',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // 其他省市...
            ]
        },
        {
            name: '饼图',
            type: 'pie',
            center: ['50%', '60%'],
            radius: ['30%', '40%'],
            label: {
                normal: {
                    position: 'center'
                }
            },
            data: [
                {value: Math.round(Math.random() * 1000), name: '北京'},
                {value: Math.round(Math.random() * 1000), name: '上海'},
                // 其他省市...
            ]
        }
    ]
};

myChart.setOption(option);

2.20 案例二十五:地图与柱状图结合

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与柱状图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '地图',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // 其他省市...
            ]
        },
        {
            name: '柱状图',
            type: 'bar',
            coordinateSystem: 'geo',
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // 其他省市...
            ]
        }
    ]
};

myChart.setOption(option);

2.30 案例三十:地图与散点图结合

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图与散点图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '地图',
            type: 'map',
            mapType: 'china',
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // 其他省市...
            ]
        },
        {
            name: '散点图',
            type: 'scatter',
            coordinateSystem: 'geo',
            data: [
                {name: '北京', value: [116.46, 39.92]},
                {name: '上海', value: [121.47, 31.23]},
                // 其他省市...
            ]
        }
    ]
};

myChart.setOption(option);

三、总结

ECharts 地图图表具有丰富的功能和自定义性,可以帮助开发者轻松实现各种地图图表的绘制。通过本文提供的 30 个实用案例解析,相信你已经对 ECharts 地图图表有了更深入的了解。希望这些案例能够帮助你快速上手,并在实际项目中发挥出 ECharts 的强大能力。

分享到: