新手必看!echarts地图图表制作实用案例解析,轻松入门地图数据可视化

2026-10-16 0 阅读

在数字化时代,地图数据可视化成为信息传递的重要方式。ECharts作为国内常用的图表库,其地图图表功能尤其受到开发者喜爱。本文将带您通过一些实用案例,轻松入门地图数据可视化。

1. 初识ECharts地图图表

ECharts的地图图表可以展示国家、省份、城市等多维度的地理信息。通过自定义地图,您可以实现丰富的数据可视化效果。

1.1 ECharts地图的基本概念

  • GeoJSON:自定义地图数据,以GeoJSON格式描述。
  • 注册地图:使用echarts.registerMap方法注册自定义地图。
  • 数据项映射:将数据项映射到地图上,展示不同地区的统计数据。

1.2 地图图表的类型

  • 散点图:用于展示不同地区的数量分布。
  • 热力图:以不同颜色深浅表示不同地区的数据密度。
  • 折线图:展示数据随时间或空间的动态变化。

2. 实用案例解析

2.1 中国地图案例

以下是一个简单的中国地图散点图示例:

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

var option = {
    title: {
        text: '中国地图散点图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    geo: {
        map: 'china',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            name: '散点',
            type: 'scatter',
            coordinateSystem: 'geo',
            data: [
                {name: '北京', value: [116.46, 39.92]},
                {name: '上海', value: [121.47, 31.23]},
                // 更多数据...
            ],
            symbolSize: function (val) {
                return val[2] / 10;
            },
            label: {
                normal: {
                    formatter: '{b}',
                    position: 'right',
                    show: false
                },
                emphasis: {
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    color: '#f4e925',
                    shadowBlur: 10,
                    shadowColor: 'rgba(100, 100, 100, 0.5)'
                }
            }
        }
    ]
};

myChart.setOption(option);

2.2 省级地图案例

以某省份的空气质量数据为例,以下是一个热力图案例:

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

var option = {
    title: {
        text: '某省份空气质量热力图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 300,
        left: 'left',
        top: 'bottom',
        text: ['高', '低'],           // 文本,默认为数值文本
        calculable: true
    },
    geo: {
        map: '某省份',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            name: '空气质量',
            type: 'heatmap',
            coordinateSystem: 'geo',
            data: [
                // 假设数据
            ]
        }
    ]
};

myChart.setOption(option);

2.3 地图动态效果

ECharts还支持地图的动态效果,例如:

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

var option = {
    title: {
        text: '地图动态效果'
    },
    tooltip: {},
    geo: {
        map: '中国',
        roam: true,
        label: {
            emphasis: {
                show: false
            }
        },
        itemStyle: {
            normal: {
                areaColor: '#323c48',
                borderColor: '#111'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [
        {
            type: 'effectScatter',
            coordinateSystem: 'geo',
            data: [
                // 动态数据
            ],
            symbolSize: 10,
            rippleEffect: {
                brushType: 'stroke'
            },
            label: {
                normal: {
                    formatter: '{b}',
                    position: 'right',
                    show: true
                }
            },
            itemStyle: {
                normal: {
                    color: '#f4e925',
                    shadowBlur: 10,
                    shadowColor: 'rgba(100, 100, 100, 0.5)'
                }
            },
            zlevel: 1
        }
    ]
};

myChart.setOption(option);

3. 总结

通过以上案例,相信您已经对ECharts地图图表的制作有了基本的了解。地图数据可视化不仅可以美化界面,还能帮助您更直观地理解数据。在今后的工作中,不断探索和实践,相信您会制作出更加精美的地图图表。

分享到: