新手必学:轻松掌握ECharts地图图表,看这10个实战案例教你绘制高效数据可视化

2026-08-24 0 阅读

在数据可视化的世界里,地图图表是一种非常直观且强大的工具,它可以帮助我们更好地理解地理分布和空间关系。ECharts作为一款功能强大的可视化库,提供了丰富的地图图表绘制功能。对于新手来说,以下10个实战案例将帮助你轻松掌握ECharts地图图表的绘制技巧。

实战案例一:世界地图基础绘制

首先,我们从最简单的世界地图开始。通过配置ECharts的map类型,我们可以轻松绘制出一个包含世界各大洲的世界地图。

// 初始化地图图表
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '世界地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '世界地图',
        type: 'map',
        mapType: 'world',
        roam: true,
        label: {
            show: false
        },
        data: [
            {name: '美国',value: Math.round(Math.random() * 1000)},
            {name: '中国',value: Math.round(Math.random() * 1000)}
        ]
    }]
};

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

实战案例二:中国地图绘制

接下来,我们来绘制一个中国地图。与世界地图类似,只需要将mapType属性设置为china即可。

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

实战案例三:省份地图绘制

在了解了如何绘制中国地图之后,我们可以进一步绘制各个省份的地图。这里以绘制广东省地图为例。

// 指定图表的配置项和数据
var option = {
    title: {
        text: '广东省地图'
    },
    series: [{
        name: '广东省',
        type: 'map',
        mapType: '广东',
        label: {
            show: true
        },
        data: [
            {name: '广州市',value: Math.round(Math.random() * 1000)},
            {name: '深圳市',value: Math.round(Math.random() * 1000)}
        ]
    }]
};

实战案例四:自定义地图数据

在实际应用中,我们可能需要根据实际数据绘制地图。这里以绘制一个包含特定区域的地图为例。

// 指定图表的配置项和数据
var option = {
    title: {
        text: '特定区域地图'
    },
    series: [{
        name: '特定区域',
        type: 'map',
        mapType: 'custom',
        label: {
            show: true
        },
        data: [
            {name: '区域一',value: Math.round(Math.random() * 1000)},
            {name: '区域二',value: Math.round(Math.random() * 1000)}
        ]
    }]
};

实战案例五:地图事件响应

ECharts地图图表支持多种事件响应,如点击、鼠标悬停等。以下是一个点击事件响应的示例。

myChart.on('click', function (params) {
    console.log(params.name); // 输出点击的省份或区域名称
});

实战案例六:地图动画效果

ECharts地图图表支持丰富的动画效果,如渐变、飞入等。以下是一个飞入动画效果的示例。

// 指定图表的配置项和数据
var option = {
    title: {
        text: '动画效果地图'
    },
    series: [{
        name: '动画地图',
        type: 'map',
        mapType: 'china',
        animation: true,
        label: {
            show: true
        },
        data: [
            {name: '北京',value: Math.round(Math.random() * 1000)}
        ]
    }]
};

实战案例七:多级地图数据可视化

在实际应用中,我们可能需要展示多级地图数据,如中国各省份及其下辖城市。以下是一个多级地图数据可视化的示例。

// 指定图表的配置项和数据
var option = {
    title: {
        text: '多级地图数据可视化'
    },
    series: [{
        name: '多级地图',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京',value: Math.round(Math.random() * 1000)},
            {name: '北京市',value: Math.round(Math.random() * 1000)}
        ]
    }]
};

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

在实际应用中,我们可能需要将地图与其他图表类型结合,如折线图。以下是一个地图与折线图结合的示例。

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图与折线图结合'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'cross',
            label: {
                backgroundColor: '#6a7985'
            }
        }
    },
    legend: {
        data: ['销量']
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: '销量',
        type: 'line',
        data: [120, 200, 150, 80, 70, 110, 130]
    }]
};

实战案例九:地图与柱状图结合

同样,地图也可以与柱状图结合使用。以下是一个地图与柱状图结合的示例。

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图与柱状图结合'
    },
    tooltip: {
        trigger: 'axis',
        axisPointer: {
            type: 'shadow'
        }
    },
    legend: {
        data: ['销量']
    },
    xAxis: {
        type: 'value'
    },
    yAxis: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳']
    },
    series: [{
        name: '销量',
        type: 'bar',
        data: [120, 200, 150, 80, 70, 110, 130]
    }]
};

实战案例十:地图与散点图结合

最后,我们来看一个地图与散点图结合的示例。

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图与散点图结合'
    },
    tooltip: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '散点图',
        type: 'scatter',
        coordinateSystem: 'geo',
        data: [
            {name: '北京',value: [116.46,39.92]},
            {name: '上海',value: [121.48,31.22]}
        ]
    }]
};

通过以上10个实战案例,相信你已经对ECharts地图图表的绘制有了初步的了解。在实际应用中,你可以根据自己的需求进行修改和调整,创造出更多具有创意的数据可视化作品。祝你在数据可视化领域取得更好的成绩!

分享到: