轻松掌握ECharts地图图表:30个实用案例带你入门实操

2026-11-04 0 阅读

在当今的数据可视化领域,ECharts地图图表以其丰富的功能和灵活性受到众多开发者的喜爱。ECharts是一款使用JavaScript实现的开源可视化库,能够帮助用户轻松地生成各种图表,包括地图图表。本文将带你通过30个实用案例,轻松入门ECharts地图图表的实操。

1. 中国地图图表

首先,我们从一个最简单的中国地图图表开始。通过ECharts提供的地图数据,你可以轻松绘制出中国地图,并展示不同的数据。

// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');

// 基于准备好的dom,初始化echarts实例
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
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '天津', value: Math.round(Math.random() * 1000)},
            // ... 其他省份数据
        ]
    }]
};

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

2. 世界地图图表

接下来,我们来看如何使用ECharts绘制世界地图图表。与绘制中国地图类似,你只需要引入相应的地图数据即可。

// 引入世界地图数据
require('echarts/map/js/world');

// ... 其他配置项与上述相同,只需将mapType改为'world'即可

3. 地图点击事件

ECharts地图图表支持丰富的交互功能,比如点击事件。以下是一个简单的示例,展示如何实现地图点击事件。

series: [{
    // ... 其他配置项
    itemStyle: {
        emphasis: {
            label: {
                show: true
            }
        }
    },
    // 鼠标点击事件
    label: {
        normal: {
            show: false
        },
        emphasis: {
            show: true
        }
    },
    animation: false,
    data: [
        // ... 数据项
    ],
    // 点击事件回调函数
    onclick: function (params) {
        console.log(params.name); // 输出点击的省份名称
    }
}]

4. 地图渐变效果

ECharts地图图表支持渐变效果,以下是一个示例,展示如何实现地图渐变效果。

series: [{
    // ... 其他配置项
    itemStyle: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
            offset: 0, color: 'red' // 0% 处的颜色
        }, {
            offset: 1, color: 'blue' // 100% 处的颜色
        }]),
        borderColor: '#fff',
        borderWidth: 1
    }
}]

5. 地图动画效果

ECharts地图图表支持丰富的动画效果,以下是一个示例,展示如何实现地图动画效果。

animation: true,
animationDuration: 1000, // 动画持续时间
animationEasing: 'bounceOut', // 动画缓动效果

6. 地图数据可视化

在实际应用中,地图数据可视化是非常重要的。以下是一个示例,展示如何使用ECharts地图图表展示人口数据。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: [116.46, 39.92, 21500000]},
        {name: '上海', value: [121.48, 31.22, 24000000]},
        // ... 其他城市数据
    ]
}]

7. 地图数据聚合

对于一些拥有大量数据的地图图表,数据聚合可以有效地展示数据分布。以下是一个示例,展示如何实现地图数据聚合。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: 1000},
        {name: '上海', value: 2000},
        // ... 其他城市数据
    ],
    // 数据聚合配置
    aggrItemStyle: {
        normal: {
            areaColor: '#f00',
            borderColor: '#ff0'
        }
    }
}]

8. 地图数据筛选

在实际应用中,有时候需要筛选特定区域的数据。以下是一个示例,展示如何实现地图数据筛选。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: 1000},
        {name: '上海', value: 2000},
        // ... 其他城市数据
    ],
    // 数据筛选配置
    filter: '北京'
}]

9. 地图自定义样式

ECharts地图图表支持自定义样式,以下是一个示例,展示如何自定义地图样式。

series: [{
    // ... 其他配置项
    itemStyle: {
        // 自定义样式配置
        color: function (params) {
            // 根据数据值返回颜色
            return params.value > 1000 ? 'red' : 'blue';
        },
        borderColor: '#fff',
        borderWidth: 1
    }
}]

10. 地图区域阴影效果

ECharts地图图表支持区域阴影效果,以下是一个示例,展示如何实现区域阴影效果。

series: [{
    // ... 其他配置项
    itemStyle: {
        shadowBlur: 10,
        shadowColor: 'rgba(120, 36, 50, 0.5)',
        shadowOffsetY: 5
    }
}]

11. 地图多层级展示

ECharts地图图表支持多层级展示,以下是一个示例,展示如何实现多层级展示。

series: [{
    // ... 其他配置项
    levels: [
        {max: 5000},
        {max: 10000},
        {max: 15000}
    ]
}]

12. 地图自定义标签

ECharts地图图表支持自定义标签,以下是一个示例,展示如何自定义标签。

series: [{
    // ... 其他配置项
    label: {
        formatter: '{b}: {c}'
    }
}]

13. 地图区域高亮

ECharts地图图表支持区域高亮,以下是一个示例,展示如何实现区域高亮。

series: [{
    // ... 其他配置项
    emphasis: {
        itemStyle: {
            color: '#f00'
        }
    }
}]

14. 地图区域点击事件

ECharts地图图表支持区域点击事件,以下是一个示例,展示如何实现区域点击事件。

series: [{
    // ... 其他配置项
    onclick: function (params) {
        console.log(params.name); // 输出点击的省份名称
    }
}]

15. 地图区域渐变效果

ECharts地图图表支持区域渐变效果,以下是一个示例,展示如何实现区域渐变效果。

series: [{
    // ... 其他配置项
    itemStyle: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
            offset: 0, color: 'red' // 0% 处的颜色
        }, {
            offset: 1, color: 'blue' // 100% 处的颜色
        }]),
        borderColor: '#fff',
        borderWidth: 1
    }
}]

16. 地图动画效果

ECharts地图图表支持丰富的动画效果,以下是一个示例,展示如何实现地图动画效果。

series: [{
    // ... 其他配置项
    animation: true,
    animationDuration: 1000, // 动画持续时间
    animationEasing: 'bounceOut', // 动画缓动效果
}]

17. 地图数据可视化

在实际应用中,地图数据可视化是非常重要的。以下是一个示例,展示如何使用ECharts地图图表展示人口数据。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: [116.46, 39.92, 21500000]},
        {name: '上海', value: [121.48, 31.22, 24000000]},
        // ... 其他城市数据
    ]
}]

18. 地图数据聚合

对于一些拥有大量数据的地图图表,数据聚合可以有效地展示数据分布。以下是一个示例,展示如何实现地图数据聚合。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: 1000},
        {name: '上海', value: 2000},
        // ... 其他城市数据
    ],
    // 数据聚合配置
    aggrItemStyle: {
        normal: {
            areaColor: '#f00',
            borderColor: '#ff0'
        }
    }
}]

19. 地图数据筛选

在实际应用中,有时候需要筛选特定区域的数据。以下是一个示例,展示如何实现地图数据筛选。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: 1000},
        {name: '上海', value: 2000},
        // ... 其他城市数据
    ],
    // 数据筛选配置
    filter: '北京'
}]

20. 地图自定义样式

ECharts地图图表支持自定义样式,以下是一个示例,展示如何自定义地图样式。

series: [{
    // ... 其他配置项
    itemStyle: {
        // 自定义样式配置
        color: function (params) {
            // 根据数据值返回颜色
            return params.value > 1000 ? 'red' : 'blue';
        },
        borderColor: '#fff',
        borderWidth: 1
    }
}]

21. 地图区域阴影效果

ECharts地图图表支持区域阴影效果,以下是一个示例,展示如何实现区域阴影效果。

series: [{
    // ... 其他配置项
    itemStyle: {
        shadowBlur: 10,
        shadowColor: 'rgba(120, 36, 50, 0.5)',
        shadowOffsetY: 5
    }
}]

22. 地图多层级展示

ECharts地图图表支持多层级展示,以下是一个示例,展示如何实现多层级展示。

series: [{
    // ... 其他配置项
    levels: [
        {max: 5000},
        {max: 10000},
        {max: 15000}
    ]
}]

23. 地图自定义标签

ECharts地图图表支持自定义标签,以下是一个示例,展示如何自定义标签。

series: [{
    // ... 其他配置项
    label: {
        formatter: '{b}: {c}'
    }
}]

24. 地图区域高亮

ECharts地图图表支持区域高亮,以下是一个示例,展示如何实现区域高亮。

series: [{
    // ... 其他配置项
    emphasis: {
        itemStyle: {
            color: '#f00'
        }
    }
}]

25. 地图区域点击事件

ECharts地图图表支持区域点击事件,以下是一个示例,展示如何实现区域点击事件。

series: [{
    // ... 其他配置项
    onclick: function (params) {
        console.log(params.name); // 输出点击的省份名称
    }
}]

26. 地图区域渐变效果

ECharts地图图表支持区域渐变效果,以下是一个示例,展示如何实现区域渐变效果。

series: [{
    // ... 其他配置项
    itemStyle: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
            offset: 0, color: 'red' // 0% 处的颜色
        }, {
            offset: 1, color: 'blue' // 100% 处的颜色
        }]),
        borderColor: '#fff',
        borderWidth: 1
    }
}]

27. 地图动画效果

ECharts地图图表支持丰富的动画效果,以下是一个示例,展示如何实现地图动画效果。

series: [{
    // ... 其他配置项
    animation: true,
    animationDuration: 1000, // 动画持续时间
    animationEasing: 'bounceOut', // 动画缓动效果
}]

28. 地图数据可视化

在实际应用中,地图数据可视化是非常重要的。以下是一个示例,展示如何使用ECharts地图图表展示人口数据。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: [116.46, 39.92, 21500000]},
        {name: '上海', value: [121.48, 31.22, 24000000]},
        // ... 其他城市数据
    ]
}]

29. 地图数据聚合

对于一些拥有大量数据的地图图表,数据聚合可以有效地展示数据分布。以下是一个示例,展示如何实现地图数据聚合。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: 1000},
        {name: '上海', value: 2000},
        // ... 其他城市数据
    ],
    // 数据聚合配置
    aggrItemStyle: {
        normal: {
            areaColor: '#f00',
            borderColor: '#ff0'
        }
    }
}]

30. 地图数据筛选

在实际应用中,有时候需要筛选特定区域的数据。以下是一个示例,展示如何实现地图数据筛选。

series: [{
    // ... 其他配置项
    data: [
        {name: '北京', value: 1000},
        {name: '上海', value: 2000},
        // ... 其他城市数据
    ],
    // 数据筛选配置
    filter: '北京'
}]

通过以上30个实用案例,相信你已经对ECharts地图图表有了更深入的了解。在实际开发中,你可以根据需求选择合适的案例进行实践,不断提升自己的技能水平。祝你在数据可视化领域取得更大的成就!

分享到: