新手必看!轻松上手echarts地图图表,10个实用案例教你玩转可视化

2026-09-16 0 阅读

ECharts 是一款使用 JavaScript 实现的开源可视化库,它提供了一套丰富的图表类型,包括地图图表。地图图表可以用来展示地理位置信息,非常适合于数据可视化展示。对于新手来说,ECharts 地图图表的学习曲线可能有些陡峭,但不用担心,本文将为你提供10个实用案例,帮助你轻松上手 ECharts 地图图表。

1. 基础地图展示

首先,我们需要创建一个基础的地图图表。以下是一个简单的示例代码:

// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入地图组件
require('echarts/lib/component/geo');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国地图'
    },
    tooltip: {
        trigger: 'item'
    },
    geo: {
        map: 'china'
    },
    series: [{
        name: '销量',
        type: 'map',
        mapType: 'china',
        roam: false,
        label: {
            show: false,
            position: 'center',
            formatter: '{b}'
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他城市
        ]
    }]
};

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

2. 动态地图

动态地图可以展示数据随时间的变化。以下是一个动态地图的示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    series: [{
        // ... 其他系列配置
        data: [
            // ... 初始数据
        ]
    }]
};

// 动态更新数据
function updateData() {
    // ... 更新数据逻辑
    myChart.setOption({
        series: [{
            data: updatedData
        }]
    });
}

// 每隔一段时间更新数据
setInterval(updateData, 1000);

3. 热力地图

热力地图可以用来展示地理位置的热度分布。以下是一个热力地图的示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    series: [{
        name: '热度',
        type: 'heatmap',
        coordinateSystem: 'geo',
        data: [
            // ... 热度数据
        ]
    }]
};

4. 多级地图

多级地图可以展示不同级别的地理位置信息。以下是一个多级地图的示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    geo: {
        map: 'china',
        zoom: 1.2,
        label: {
            show: true,
            position: 'left',
            formatter: '{b}'
        },
        itemStyle: {
            areaColor: '#323c48',
            borderColor: '#111'
        }
    },
    series: [{
        name: '多级地图',
        type: 'map',
        mapType: 'china',
        zoom: 1.2,
        label: {
            show: true,
            position: 'left',
            formatter: '{b}'
        },
        data: [
            // ... 数据
        ]
    }]
};

5. 地图缩放与平移

地图缩放与平移是地图图表中常见的操作。以下是一个示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    geo: {
        // ... 地图配置
        roam: true // 开启缩放和平移
    },
    series: [{
        // ... 系列配置
    }]
};

6. 地图点击事件

地图点击事件可以用来响应用户的点击操作。以下是一个示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    geo: {
        // ... 地图配置
    },
    series: [{
        // ... 系列配置
        itemStyle: {
            emphasis: {
                label: {
                    show: true
                }
            }
        }
    }]
};

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

7. 地图自定义样式

自定义地图样式可以让地图更加美观。以下是一个自定义样式的示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    geo: {
        // ... 地图配置
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [{
        // ... 系列配置
    }]
};

8. 地图数据筛选

地图数据筛选可以用来展示特定区域的数据。以下是一个数据筛选的示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    geo: {
        // ... 地图配置
    },
    series: [{
        name: '筛选数据',
        type: 'map',
        mapType: 'china',
        data: [
            // ... 筛选后的数据
        ]
    }]
};

9. 地图与折线图结合

地图与折线图结合可以用来展示地理位置与数据之间的关系。以下是一个结合示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    geo: {
        // ... 地图配置
    },
    series: [{
        name: '折线图',
        type: 'line',
        coordinateSystem: 'geo',
        data: [
            // ... 折线图数据
        ]
    }]
};

10. 地图与散点图结合

地图与散点图结合可以用来展示地理位置与数据点之间的关系。以下是一个结合示例:

// ... 引入 ECharts 和地图组件

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

// 指定图表的配置项和数据
var option = {
    // ... 其他配置项
    geo: {
        // ... 地图配置
    },
    series: [{
        name: '散点图',
        type: 'scatter',
        coordinateSystem: 'geo',
        data: [
            // ... 散点图数据
        ]
    }]
};

通过以上10个实用案例,相信你已经对 ECharts 地图图表有了更深入的了解。在实际应用中,你可以根据自己的需求进行修改和扩展。祝你在数据可视化领域取得更好的成绩!

分享到: