教你轻松掌握ECharts地图图表:10个实用案例,助你高效制作地图数据可视化

2026-07-07 0 阅读

在数据可视化领域,地图图表是一种非常直观且富有信息量的展示方式。ECharts作为一款强大的可视化库,提供了丰富的地图图表功能。本文将为你介绍10个实用的ECharts地图图表案例,帮助你轻松掌握地图数据可视化的制作技巧。

案例一:中国地图展示

主题句:通过ECharts绘制中国地图,展示各个省份的数据。

操作步骤

  1. 引入ECharts库和地图数据。
  2. 创建地图实例并设置地图类型为map
  3. 添加series,配置地图数据。
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '中国',
        type: 'map',
        mapType: 'china',
        roam: true,
        label: {
            normal: {
                show: true
            },
            emphasis: {
                show: true
            }
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他省份
        ]
    }]
};

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

案例二:世界地图展示

主题句:利用ECharts绘制世界地图,展示各国或地区的数据。

操作步骤

  1. 引入ECharts库和世界地图数据。
  2. 创建地图实例并设置地图类型为map
  3. 添加series,配置地图数据。
  4. 渲染地图。

代码示例

// 引入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: '世界地图展示'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '世界',
        type: 'map',
        mapType: 'world',
        roam: true,
        label: {
            normal: {
                show: true
            },
            emphasis: {
                show: true
            }
        },
        data: [
            {name: 'China', value: Math.round(Math.random() * 1000)},
            {name: 'United States', value: Math.round(Math.random() * 1000)},
            // ... 其他国家或地区
        ]
    }]
};

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

案例三:热力地图

主题句:使用ECharts绘制热力地图,展示数据的密集程度。

操作步骤

  1. 引入ECharts库和热力地图数据。
  2. 创建地图实例并设置地图类型为heatmap
  3. 添加series,配置热力数据。
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '热力地图',
        type: 'heatmap',
        mapType: 'china',
        data: [
            {name: '北京', value: [116.46,39.92,Math.round(Math.random() * 1000)]},
            {name: '上海', value: [121.47,31.23,Math.round(Math.random() * 1000)]},
            // ... 其他地区
        ]
    }]
};

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

案例四:散点地图

主题句:利用ECharts绘制散点地图,展示地理位置和数值的关系。

操作步骤

  1. 引入ECharts库和散点地图数据。
  2. 创建地图实例并设置地图类型为scatter
  3. 添加series,配置散点数据。
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '散点地图',
        type: 'scatter',
        mapType: 'china',
        data: [
            {name: '北京', value: [116.46,39.92,Math.round(Math.random() * 1000)]},
            {name: '上海', value: [121.47,31.23,Math.round(Math.random() * 1000)]},
            // ... 其他地区
        ]
    }]
};

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

案例五:区域地图

主题句:使用ECharts绘制区域地图,展示地理区域内的数据分布。

操作步骤

  1. 引入ECharts库和区域地图数据。
  2. 创建地图实例并设置地图类型为map
  3. 添加series,配置区域数据。
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '区域地图',
        type: 'map',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他地区
        ]
    }]
};

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

案例六:多级地图

主题句:使用ECharts绘制多级地图,展示不同层级的数据。

操作步骤

  1. 引入ECharts库和多级地图数据。
  2. 创建地图实例并设置地图类型为map
  3. 添加series,配置多级数据。
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '多级地图',
        type: 'map',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他地区
        ]
    }]
};

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

案例七:动态地图

主题句:使用ECharts绘制动态地图,展示数据的变化过程。

操作步骤

  1. 引入ECharts库和动态地图数据。
  2. 创建地图实例并设置地图类型为map
  3. 使用animation属性实现动态效果。
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '动态地图',
        type: 'map',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他地区
        ],
        animation: true
    }]
};

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

案例八:自定义地图

主题句:使用ECharts绘制自定义地图,展示特定区域的地图。

操作步骤

  1. 引入ECharts库和自定义地图数据。
  2. 创建地图实例并设置地图类型为map
  3. 添加series,配置自定义数据。
  4. 渲染地图。

代码示例

// 引入ECharts主模块
var echarts = require('echarts/lib/echarts');
// 引入自定义地图数据
require('echarts/map/js/customMap');

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

// 指定图表的配置项和数据
var option = {
    title: {
        text: '自定义地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '自定义地图',
        type: 'map',
        mapType: 'customMap',
        data: [
            {name: '区域1', value: Math.round(Math.random() * 1000)},
            {name: '区域2', value: Math.round(Math.random() * 1000)},
            // ... 其他区域
        ]
    }]
};

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

案例九:地图事件

主题句:使用ECharts地图图表,添加交互事件,如点击事件。

操作步骤

  1. 引入ECharts库和地图数据。
  2. 创建地图实例并设置地图类型为map
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '地图事件',
        type: 'map',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他地区
        ]
    }]
};

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

// 为地图添加点击事件监听器
myChart.on('click', function (params) {
    if (params.componentType === 'series') {
        console.log('点击了:' + params.name);
    }
});

案例十:地图动画

主题句:使用ECharts地图图表,添加动画效果,使地图展示更加生动。

操作步骤

  1. 引入ECharts库和地图数据。
  2. 创建地图实例并设置地图类型为map
  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: {},
    visualMap: {
        min: 0,
        max: 1000,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],
        calculable: true
    },
    series: [{
        name: '地图动画',
        type: 'map',
        mapType: 'china',
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            {name: '上海', value: Math.round(Math.random() * 1000)},
            // ... 其他地区
        ],
        animation: true
    }]
};

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

通过以上10个实用案例,相信你已经对ECharts地图图表的制作有了更深入的了解。希望这些案例能够帮助你轻松掌握地图数据可视化的制作技巧,让你的数据展示更加生动有趣。

分享到: