教你轻松上手ECharts地图图表:10个实用案例,轻松制作可视化地图!

2026-08-05 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它可以帮助我们制作丰富的数据可视化图表。其中,地图图表是 ECharts 中一个非常实用且功能强大的图表类型。下面,我将通过 10 个实用案例,手把手教你如何轻松制作 ECharts 地图图表。

案例一:中国地图图表

首先,让我们从最简单的中国地图图表开始。下面是创建中国地图图表的基本步骤:

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

var option = {
    title: {
        text: '中国地图示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '中国地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京',
            value: 123
        }, {
            name: '上海',
            value: 234
        }]
    }]
};

myChart.setOption(option);

案例二:世界地图图表

世界地图图表同样可以通过 ECharts 来实现。以下是一个简单的示例:

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

var option = {
    title: {
        text: '世界地图示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '世界地图',
        type: 'map',
        mapType: 'world',
        label: {
            show: true
        },
        data: [{
            name: 'United States',
            value: 100
        }, {
            name: 'China',
            value: 200
        }]
    }]
};

myChart.setOption(option);

案例三:自定义地图图表

除了内置地图类型,ECharts 还支持自定义地图图表。以下是一个简单的自定义地图图表示例:

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

var option = {
    title: {
        text: '自定义地图示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '自定义地图',
        type: 'map',
        mapType: 'customMap',
        label: {
            show: true
        },
        data: [{
            name: '北京',
            value: 123
        }, {
            name: '上海',
            value: 234
        }]
    }]
};

// ... 其他代码,例如自定义地图数据的定义

案例四:散点图与地图结合

散点图与地图的结合可以使数据展示更加生动。以下是一个结合散点图和地图的示例:

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

var option = {
    title: {
        text: '散点图与地图结合示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '散点图',
        type: 'scatter',
        coordinateSystem: 'geo',
        data: [{
            name: '北京',
            value: [116.46, 39.92, 100]
        }, {
            name: '上海',
            value: [121.47, 31.23, 150]
        }]
    }, {
        name: '地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        }
    }]
};

案例五:动画地图图表

动画地图图表可以让数据变化过程更加直观。以下是一个动画地图图表的示例:

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

var option = {
    title: {
        text: '动画地图示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '动画地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京',
            value: 123
        }, {
            name: '上海',
            value: 234
        }],
        animationDuration: 2000 // 动画持续时间
    }]
};

案例六:地图缩放与拖动

地图图表支持缩放与拖动,使得用户可以更自由地浏览数据。以下是一个支持缩放与拖动的地图图表示例:

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

var option = {
    title: {
        text: '地图缩放与拖动示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        zoom: 1.2, // 缩放比例
        roam: true // 是否开启缩放与拖动
    }]
};

案例七:地图层级切换

地图图表支持多个层级,用户可以根据需要切换不同的地图层级。以下是一个地图层级切换的示例:

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

var option = {
    title: {
        text: '地图层级切换示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: ['china', 'world'], // 支持多层级地图
        label: {
            show: true
        }
    }]
};

案例八:地图热力图

地图热力图可以用来展示地图上某个区域的热度分布。以下是一个地图热力图的示例:

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

var option = {
    title: {
        text: '地图热力图示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '热力图',
        type: 'heatmap',
        mapType: 'china',
        label: {
            show: true
        },
        data: [
            // ... 热力图数据
        ]
    }]
};

案例九:地图聚合

地图聚合可以将多个数据点聚合为一个点,展示在地图上。以下是一个地图聚合的示例:

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

var option = {
    title: {
        text: '地图聚合示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京',
            value: 123
        }, {
            name: '上海',
            value: 234
        }],
        agglomeration: true, // 开启地图聚合
        agglomerationThreshold: 100 // 聚合的阈值
    }]
};

案例十:地图自定义视觉

地图自定义视觉可以让地图图表更加具有个性化。以下是一个地图自定义视觉的示例:

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

var option = {
    title: {
        text: '地图自定义视觉示例',
        left: 'center'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        itemStyle: {
            emphasis: {
                label: {
                    show: true
                }
            }
        },
        data: [{
            name: '北京',
            value: 123,
            itemStyle: {
                color: 'red' // 自定义颜色
            }
        }, {
            name: '上海',
            value: 234,
            itemStyle: {
                color: 'green' // 自定义颜色
            }
        }]
    }]
};

以上便是 ECharts 地图图表的 10 个实用案例,希望能帮助到正在学习 ECharts 的你。祝你学习愉快!

分享到: