新手必看!轻松上手echarts地图图表,20个实用案例教你快速掌握技巧

2026-11-09 0 阅读

ECharts 地图图表是一种强大的数据可视化工具,可以帮助你将地理位置信息与数据统计直观地展示出来。对于新手来说,可能会觉得上手有些难度。别担心,本文将为你提供20个实用案例,带你轻松掌握 ECharts 地图图表的绘制技巧。

1. 地图基本绘制

案例一:绘制中国地图

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

var option = {
    title: {
        text: '中国地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    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',
        formatter: '{b}:{c}'
    },
    series: [
        {
            name: '世界',
            type: 'map',
            mapType: 'world',
            roam: true,
            label: {
                show: true,
                color: '#fff'
            },
            data: [
                {name: '美国', value: Math.round(Math.random() * 1000)},
                {name: '中国', value: Math.round(Math.random() * 1000)}
                // ... 其他国家数据
            ]
        }
    ]
};

myChart.setOption(option);

2. 地图交互效果

案例三:点击地图区域跳转页面

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

var option = {
    title: {
        text: '点击地图区域跳转页面'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)}
                // ... 其他城市数据
            ],
            itemStyle: {
                emphasis: {
                    label: {
                        show: true
                    }
                }
            }
        }
    ]
};

myChart.on('click', function (params) {
    if (params.componentType === 'series') {
        window.location.href = 'http://www.example.com/' + params.name;
    }
});

myChart.setOption(option);

3. 地图数据可视化

案例四:显示人口密度

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

var option = {
    title: {
        text: '中国人口密度'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国人口密度',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: 120000000},
                {name: '上海', value: 240000000}
                // ... 其他城市数据
            ]
        }
    ]
};

myChart.setOption(option);

案例五:显示GDP

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

var option = {
    title: {
        text: '中国GDP'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国GDP',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: 300000000000},
                {name: '上海', value: 500000000000}
                // ... 其他城市数据
            ]
        }
    ]
};

myChart.setOption(option);

4. 地图自定义

案例六:自定义地图样式

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

var option = {
    title: {
        text: '自定义地图样式'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    areaColor: '#323c48',
                    borderColor: '#111'
                },
                emphasis: {
                    areaColor: '#2a333d'
                }
            },
            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',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    areaColor: '#323c48',
                    borderColor: '#111'
                },
                emphasis: {
                    areaColor: '#2a333d'
                }
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)}
                // ... 其他城市数据
            ]
        }
    ]
};

myChart.setOption(option);

5. 地图与其他图表结合

案例八:地图与折线图结合

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

var option = {
    title: {
        text: '地图与折线图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [
        {
            name: '中国',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)}
                // ... 其他城市数据
            ]
        },
        {
            name: '折线图',
            type: 'line',
            symbolSize: 10,
            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',
            roam: true,
            label: {
                show: false,
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)}
                // ... 其他城市数据
            ]
        },
        {
            name: '柱状图',
            type: 'bar',
            barWidth: 30,
            data: [
                {name: '北京', value: Math.round(Math.random() * 1000)},
                {name: '上海', value: Math.round(Math.random() * 1000)}
                // ... 其他城市数据
            ]
        }
    ]
};

myChart.setOption(option);

总结

通过以上20个案例,相信你已经对 ECharts 地图图表的绘制技巧有了初步的了解。在实际应用中,你可以根据需求调整地图样式、数据、交互效果等,将地图与其他图表结合,展示更加丰富和生动的数据可视化效果。希望这篇文章能帮助你快速掌握 ECharts 地图图表的绘制技巧。

分享到: