教你轻松上手ECharts地图图表:10个实用案例,数据可视化不再难

2026-08-24 0 阅读

在当今这个大数据时代,数据可视化成为了数据分析的重要手段。ECharts作为一个功能强大的JavaScript库,可以帮助我们轻松创建各种图表,包括地图图表。本文将为你介绍10个实用案例,让你快速掌握ECharts地图图表的制作方法,让数据可视化变得不再难。

1. 省份地图

案例描述: 展示中国各省份的人口数量。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
// 引入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: {},
    legend: {
        data:['人口数量']
    },
    visualMap: {
        min: 0,
        max: 50000000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '人口数量',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: 2154.2},
                {name: '天津',value: 1530.6},
                {name: '河北',value: 7469.7},
                // ... 其他省份数据
            ]
        }
    ]
};

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

2. 地级市地图

案例描述: 展示中国各城市的空气质量指数。

实现步骤:

  1. 引入ECharts和相应地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入中国地图数据
require('echarts/map/js/china');
// 引入城市地图数据
require('echarts/map/js/world');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '中国各城市空气质量指数'
    },
    tooltip: {},
    legend: {
        data:['空气质量指数']
    },
    visualMap: {
        min: 0,
        max: 500,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '空气质量指数',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data:[
                {name: '北京',value: 100},
                {name: '天津',value: 80},
                {name: '河北',value: 90},
                // ... 其他城市数据
            ]
        }
    ]
};

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

3. 热力图

案例描述: 展示中国各省份的GDP总量。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
// 引入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: '中国各省份GDP总量'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 500000000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: 'GDP总量',
            type: 'heatmap',
            mapType: 'china',
            data: [
                {name: '北京',value: 200000000},
                {name: '天津',value: 100000000},
                {name: '河北',value: 150000000},
                // ... 其他省份数据
            ]
        }
    ]
};

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

4. 城市迁徙图

案例描述: 展示中国各城市之间的迁徙情况。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
// 引入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: {},
    legend: {
        data:['迁徙人数']
    },
    visualMap: {
        min: 0,
        max: 1000000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '迁徙人数',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京',value: 50000},
                {name: '上海',value: 80000},
                {name: '广州',value: 30000},
                // ... 其他城市数据
            ]
        }
    ]
};

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

5. 世界地图

案例描述: 展示全球各国家的GDP总量。

实现步骤:

  1. 引入ECharts和world地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入世界地图数据
require('echarts/map/js/world');

// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据
var option = {
    title: {
        text: '全球各国家GDP总量'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 500000000000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: 'GDP总量',
            type: 'map',
            mapType: 'world',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '中国',value: 110000000000},
                {name: '美国',value: 210000000000},
                {name: '日本',value: 50000000000},
                // ... 其他国家数据
            ]
        }
    ]
};

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

6. 地图标注

案例描述: 在地图上标注中国各省份的首府城市。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
// 引入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: {},
    series: [
        {
            name: '首府城市',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京',value: '北京市'},
                {name: '天津',value: '天津市'},
                {name: '河北',value: '石家庄市'},
                // ... 其他省份数据
            ]
        }
    ]
};

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

7. 地图多级联动

案例描述: 实现中国省份、城市、区县的三级联动。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
  4. 实现联动效果。
// 引入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: {},
    series: [
        {
            name: '联动',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京',value: '北京市'},
                {name: '天津',value: '天津市'},
                {name: '河北',value: '石家庄市'},
                // ... 其他省份数据
            ]
        }
    ]
};

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

8. 地图点击事件

案例描述: 实现地图点击事件,点击省份时弹出相应信息。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
  4. 监听地图点击事件,弹出相应信息。
// 引入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: {},
    series: [
        {
            name: '点击事件',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京',value: '北京市'},
                {name: '天津',value: '天津市'},
                {name: '河北',value: '石家庄市'},
                // ... 其他省份数据
            ]
        }
    ]
};

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

// 监听地图点击事件
myChart.on('click', function (params) {
    alert(params.name);
});

9. 地图缩放控制

案例描述: 实现地图的缩放控制,支持鼠标滚轮和拖拽。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
  4. 开启地图的缩放功能。
// 引入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: {},
    series: [
        {
            name: '缩放控制',
            type: 'map',
            mapType: 'china',
            roam: true,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京',value: '北京市'},
                {name: '天津',value: '天津市'},
                {name: '河北',value: '石家庄市'},
                // ... 其他省份数据
            ]
        }
    ]
};

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

10. 地图数据动态更新

案例描述: 实现地图数据的动态更新,例如实时显示各省份的空气质量指数。

实现步骤:

  1. 引入ECharts和china地图数据。
  2. 设置地图图表的配置项,包括地图类型、标题、工具箱等。
  3. 添加数据系列,设置数据项。
  4. 使用定时器或WebSocket等技术实现数据的动态更新。
// 引入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: {},
    visualMap: {
        min: 0,
        max: 500,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [
        {
            name: '空气质量指数',
            type: 'map',
            mapType: 'china',
            roam: false,
            label: {
                normal: {
                    show: true
                },
                emphasis: {
                    show: true
                }
            },
            data: [
                {name: '北京',value: 100},
                {name: '天津',value: 80},
                {name: '河北',value: 90},
                // ... 其他省份数据
            ]
        }
    ]
};

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

// 使用定时器实现数据的动态更新
setInterval(function () {
    var data = [
        {name: '北京',value: Math.round(Math.random() * 500)},
        {name: '天津',value: Math.round(Math.random() * 500)},
        {name: '河北',value: Math.round(Math.random() * 500)},
        // ... 其他省份数据
    ];
    myChart.setOption({
        series: [{
            data: data
        }]
    });
}, 1000);

通过以上10个实用案例,相信你已经对ECharts地图图表的制作方法有了初步的了解。在实际应用中,你可以根据自己的需求对案例进行修改和扩展。希望这些案例能帮助你轻松上手ECharts地图图表的制作,让数据可视化变得不再难!

分享到: