轻松掌握ECharts地图图表:50个实用案例解析,让你轻松制作可视化地图!

2026-10-25 0 阅读

引言

地图图表是数据可视化中不可或缺的一部分,它能够直观地展示地理分布和空间关系。ECharts作为一款强大的前端可视化库,提供了丰富的地图图表功能。本文将为你带来50个实用案例解析,让你轻松掌握ECharts地图图表的制作技巧。

案例一:中国地图展示

代码示例

// 引入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)},
            // ... 其他省份数据
        ]
    }]
};

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

案例解析

本案例展示了如何使用ECharts绘制中国地图,并通过随机生成的数据来表示每个省份的数值。

案例二:世界地图展示

代码示例

// 引入ECharts主模块
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)},
            // ... 其他国家数据
        ]
    }]
};

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

案例解析

本案例展示了如何使用ECharts绘制世界地图,与上一个案例类似,通过随机生成的数据来表示每个国家的数值。

案例三:地图点击事件

代码示例

// 引入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)},
            // ... 其他省份数据
        ]
    }]
};

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

// 添加点击事件监听器
myChart.on('click', function (params) {
    console.log(params.name); // 输出点击的省份名称
});

案例解析

本案例展示了如何在地图上添加点击事件监听器,当用户点击某个省份时,可以在控制台输出该省份的名称。

案例四:地图缩放与平移

代码示例

// 引入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)},
            // ... 其他省份数据
        ]
    }]
};

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

// 设置地图的缩放与平移
myChart.dispatchAction({
    type: 'geoZoom',
    zoom: 1.5 // 设置缩放比例
});

myChart.dispatchAction({
    type: 'geoRoam',
    roam: true // 允许地图平移
});

案例解析

本案例展示了如何设置地图的缩放与平移功能,让用户可以自由地缩放和平移地图。

案例五:地图数据可视化

代码示例

// 引入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)},
            // ... 其他省份数据
        ]
    }]
};

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

// 添加点击事件监听器
myChart.on('click', function (params) {
    console.log(params.name); // 输出点击的省份名称
});

案例解析

本案例展示了如何使用地图图表进行数据可视化,通过随机生成的数据来表示每个省份的数值,并添加点击事件监听器,输出点击的省份名称。

案例六:地图动画效果

代码示例

// 引入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)},
            // ... 其他省份数据
        ]
    }]
};

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

// 设置地图动画效果
myChart.dispatchAction({
    type: 'animationPlay',
    animationName: 'spin'
});

案例解析

本案例展示了如何为地图添加动画效果,通过调用animationPlay方法并指定动画名称来实现。

案例七:地图热力图

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            color: 'rgba(255, 255, 255, 0.5)'
        }
    }]
};

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

案例解析

本案例展示了如何使用地图热力图来展示数据,通过设置itemStyle属性中的颜色来实现。

案例八:地图自定义颜色

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            color: '#FF0000' // 设置自定义颜色
        }
    }]
};

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

案例解析

本案例展示了如何为地图设置自定义颜色,通过设置itemStyle属性中的color属性来实现。

案例九:地图自定义标签

代码示例

// 引入ECharts主模块
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '地图自定义标签'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        name: '中国',
        type: 'map',
        mapType: 'china',
        label: {
            show: true,
            formatter: '{b}: {c}' // 设置标签格式
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            // ... 其他省份数据
        ]
    }]
};

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

案例解析

本案例展示了如何为地图添加自定义标签,通过设置label属性中的formatter属性来实现。

案例十:地图区域高亮

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            emphasis: {
                areaColor: '#FF0000' // 设置高亮区域颜色
            }
        }
    }]
};

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

案例解析

本案例展示了如何为地图添加区域高亮效果,通过设置itemStyle属性中的emphasis属性来实现。

案例十一:地图多级数据展示

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            emphasis: {
                areaColor: '#FF0000' // 设置高亮区域颜色
            }
        },
        levels: [
            {
                itemStyle: {
                    color: '#FF0000'
                }
            },
            {
                itemStyle: {
                    color: '#00FF00'
                }
            }
        ]
    }]
};

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

案例解析

本案例展示了如何使用地图多级数据展示功能,通过设置levels属性来实现。

案例十二:地图数据动态更新

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            emphasis: {
                areaColor: '#FF0000' // 设置高亮区域颜色
            }
        }
    }]
};

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

// 动态更新数据
setInterval(function () {
    option.series[0].data = [
        {name: '北京', value: Math.round(Math.random() * 1000)},
        // ... 其他省份数据
    ];
    myChart.setOption(option);
}, 1000);

案例解析

本案例展示了如何使用定时器来动态更新地图数据,通过修改option对象中的series属性来实现。

案例十三:地图与折线图结合

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            emphasis: {
                areaColor: '#FF0000' // 设置高亮区域颜色
            }
        }
    }, {
        name: '折线图',
        type: 'line',
        data: [
            [0, 1000],
            [1, 800],
            // ... 其他数据
        ]
    }]
};

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

案例解析

本案例展示了如何将地图与折线图结合,通过在series数组中添加多个图表元素来实现。

案例十四:地图与饼图结合

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            emphasis: {
                areaColor: '#FF0000' // 设置高亮区域颜色
            }
        }
    }, {
        name: '饼图',
        type: 'pie',
        data: [
            {value: 1000, name: '北京'},
            // ... 其他数据
        ]
    }]
};

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

案例解析

本案例展示了如何将地图与饼图结合,通过在series数组中添加多个图表元素来实现。

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

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            emphasis: {
                areaColor: '#FF0000' // 设置高亮区域颜色
            }
        }
    }, {
        name: '柱状图',
        type: 'bar',
        data: [
            {value: 1000, name: '北京'},
            // ... 其他数据
        ]
    }]
};

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

案例解析

本案例展示了如何将地图与柱状图结合,通过在series数组中添加多个图表元素来实现。

案例十六:地图与散点图结合

代码示例

// 引入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)},
            // ... 其他省份数据
        ],
        itemStyle: {
            emphasis: {
                areaColor: '#FF0000' // 设置高亮区域颜色
            }
        }
    }, {
        name: '散点图',
        type: 'scatter',
        data: [
            [116.46, 39.92, 1000],
            // ... 其他数据
        ]
    }]
};

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

案例解析

本案例展示了如何将地图与散点图结合,通过在series数组中添加多个图表元素来实现。

案例十七:地图与雷达图结合

代码示例

”`javascript // 引入ECharts主模块 var myChart = echarts.init(document.getElementById(‘main’));

// 指定图表的配置项和数据 var option = {

title: {
    text: '地图与雷达图结合'
},
tooltip: {
    trigger: 'item'
},
series: [{
分享到: