学会echarts地图图表:轻松实现全国数据可视化,案例教学让你快速上手

2026-10-31 0 阅读

引言

在信息化时代,数据可视化已成为数据分析的重要手段。ECharts 地图图表作为一种强大的可视化工具,能够帮助我们轻松实现全国数据可视化。本文将结合案例教学,带你快速上手 ECharts 地图图表,让你轻松驾驭全国数据可视化。

一、ECharts 地图图表简介

1.1 ECharts 简介

ECharts 是一个使用 JavaScript 实现的开源可视化库,提供直观、交互性强、可高度定制化的图表。它广泛应用于各种场景,如数据统计、业务监控、地理信息展示等。

1.2 ECharts 地图图表特点

  • 支持多种地图类型,如中国地图、世界地图、行政区划地图等;
  • 支持多种数据可视化效果,如散点图、柱状图、折线图等;
  • 支持自定义地图样式,满足个性化需求;
  • 支持跨平台、跨浏览器运行。

二、ECharts 地图图表基础操作

2.1 初始化地图

首先,我们需要引入 ECharts 地图图表的 JavaScript 库。以下是一个简单的示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ECharts 地图图表示例</title>
    <!-- 引入 ECharts -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>
    <!-- 引入中国地图数据 -->
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/map/js/china.js"></script>
</head>
<body>
    <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
        // 指定图表的配置项和数据
        var option = {
            title: {
                text: '中国地图示例'
            },
            tooltip: {},
            legend: {
                orient: 'vertical',
                left: 'left',
                data:['销量']
            },
            visualMap: {
                min: 0,
                max: 2500,
                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: 'map',
                    mapType: 'china',
                    roam: false,
                    label: {
                        show: true
                    },
                    data:[
                        {name: '北京',value: Math.round(Math.random()*1000)},
                        {name: '天津',value: Math.round(Math.random()*1000)},
                        {name: '上海',value: Math.round(Math.random()*1000)},
                        {name: '重庆',value: Math.round(Math.random()*1000)},
                        {name: '河北',value: Math.round(Math.random()*1000)},
                        {name: '山西',value: Math.round(Math.random()*1000)},
                        {name: '辽宁',value: Math.round(Math.random()*1000)},
                        {name: '吉林',value: Math.round(Math.random()*1000)},
                        {name: '黑龙江',value: Math.round(Math.random()*1000)},
                        {name: '江苏',value: Math.round(Math.random()*1000)},
                        {name: '浙江',value: Math.round(Math.random()*1000)},
                        {name: '安徽',value: Math.round(Math.random()*1000)},
                        {name: '福建',value: Math.round(Math.random()*1000)},
                        {name: '江西',value: Math.round(Math.random()*1000)},
                        {name: '山东',value: Math.round(Math.random()*1000)},
                        {name: '河南',value: Math.round(Math.random()*1000)},
                        {name: '湖北',value: Math.round(Math.random()*1000)},
                        {name: '湖南',value: Math.round(Math.random()*1000)},
                        {name: '广东',value: Math.round(Math.random()*1000)},
                        {name: '海南',value: Math.round(Math.random()*1000)},
                        {name: '四川',value: Math.round(Math.random()*1000)},
                        {name: '贵州',value: Math.round(Math.random()*1000)},
                        {name: '云南',value: Math.round(Math.random()*1000)},
                        {name: '陕西',value: Math.round(Math.random()*1000)},
                        {name: '甘肃',value: Math.round(Math.random()*1000)},
                        {name: '青海',value: Math.round(Math.random()*1000)},
                        {name: '台湾',value: Math.round(Math.random()*1000)},
                        {name: '内蒙古',value: Math.round(Math.random()*1000)},
                        {name: '广西',value: Math.round(Math.random()*1000)},
                        {name: '西藏',value: Math.round(Math.random()*1000)},
                        {name: '宁夏',value: Math.round(Math.random()*1000)},
                        {name: '新疆',value: Math.round(Math.random()*1000)},
                        {name: '香港',value: Math.round(Math.random()*1000)},
                        {name: '澳门',value: Math.round(Math.random()*1000)}
                    ]
                }
            ]
        };
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>
</body>
</html>

2.2 添加数据

在上面的示例中,我们使用随机数模拟了各个省份的销量数据。在实际应用中,你需要从后端获取真实的数据,并将其添加到地图图表中。

2.3 自定义地图样式

ECharts 地图图表支持自定义地图样式,包括颜色、边框、阴影等。你可以根据需求调整地图样式,使其更加美观。

三、案例教学

3.1 案例一:全国疫情地图

3.1.1 案例背景

随着新冠疫情的爆发,全国各地的疫情数据备受关注。我们可以使用 ECharts 地图图表展示全国疫情数据,帮助人们了解疫情形势。

3.1.2 案例实现

  1. 引入 ECharts 地图图表的 JavaScript 库和地图数据;
  2. 获取疫情数据,包括确诊病例、治愈病例、死亡病例等;
  3. 将疫情数据添加到地图图表中;
  4. 自定义地图样式,如颜色、边框等。

3.2 案例二:全国人口密度地图

3.2.1 案例背景

了解全国人口分布情况对于城市规划、资源分配等方面具有重要意义。我们可以使用 ECharts 地图图表展示全国人口密度地图。

3.2.2 案例实现

  1. 引入 ECharts 地图图表的 JavaScript 库和地图数据;
  2. 获取人口数据,包括人口总数、人口密度等;
  3. 将人口数据添加到地图图表中;
  4. 自定义地图样式,如颜色、边框等。

四、总结

通过本文的学习,相信你已经掌握了 ECharts 地图图表的基本操作和案例应用。在实际应用中,你可以根据需求调整地图样式、添加数据等,实现丰富的全国数据可视化效果。希望本文能帮助你轻松实现数据可视化,为你的工作带来便利。

分享到: