新手必学!用ECharts轻松制作地图图表:10个实用案例教学

2026-11-04 0 阅读

案例一:中国地图展示

在ECharts中,展示中国地图是一项基础且实用的技能。以下是一个简单的示例:

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);

案例二:世界地图展示

展示世界地图与展示中国地图类似,但需要选择合适的地图类型。

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

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

案例三:省级地图展示

展示特定省份的地图,可以通过mapType属性来指定。

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

var option = {
    title: {
        text: '广东省地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '广东',
            type: 'map',
            mapType: '广东',
            label: {
                show: true
            },
            data: [
                {name: '广州', value: Math.round(Math.random() * 1000)},
                {name: '深圳', value: Math.round(Math.random() * 1000)},
                // 更多城市数据
            ]
        }
    ]
};

myChart.setOption(option);

案例四:多层级地图展示

ECharts支持多层级地图,可以通过levels属性来设置。

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

var option = {
    title: {
        text: '多层级地图示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '多层级',
            type: 'map',
            mapType: 'china',
            levels: [
                {itemStyle: {areaColor: '#f1f1f1'}},
                {itemStyle: {areaColor: '#f5f5f5'}},
                {itemStyle: {areaColor: '#f9f9f9'}}
            ],
            label: {
                show: true
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)},
                // 更多城市数据
            ]
        }
    ]
};

myChart.setOption(option);

案例五:散点地图展示

散点地图常用于展示地理位置与数值的关系。

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: [116.46, 39.92]},
                {name: '上海', value: [121.48, 31.22]},
                // 更多坐标数据
            ]
        }
    ]
};

myChart.setOption(option);

案例六:热力地图展示

热力地图常用于展示地理位置的热度分布。

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: 100},
                {name: '上海', value: 200},
                // 更多热度数据
            ]
        }
    ]
};

myChart.setOption(option);

案例七:迁徙地图展示

迁徙地图常用于展示人口流动情况。

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: 1000},
                {name: '上海', value: 1500},
                // 更多迁徙数据
            ]
        }
    ]
};

myChart.setOption(option);

案例八:地图标签展示

地图标签可以用于突出显示特定的地理位置。

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

var option = {
    title: {
        text: '地图标签示例'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '标签',
            type: 'map',
            mapType: 'china',
            label: {
                show: true,
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: 100},
                {name: '上海', value: 200},
                // 更多标签数据
            ]
        }
    ]
};

myChart.setOption(option);

案例九:地图缩放展示

地图缩放功能可以让用户自由控制地图的缩放级别。

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: 100},
                {name: '上海', value: 200},
                // 更多数据
            ]
        }
    ]
};

myChart.setOption(option);

案例十:地图交互展示

地图交互功能可以让用户与地图进行互动,例如点击、拖动等。

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: 100},
                {name: '上海', value: 200},
                // 更多数据
            ]
        }
    ]
};

myChart.setOption(option);

通过以上10个案例,相信你已经对ECharts地图图表的制作有了初步的了解。在实际应用中,你可以根据自己的需求调整地图类型、数据、样式等,以达到最佳的效果。祝你在地图图表制作的道路上越走越远!

分享到: