教你轻松制作echarts地图图表:10个实用案例,一学就会

2026-10-23 0 阅读

案例一:中国省市区地图

简介

ECharts地图图表可以帮助我们直观地展示地理分布数据。首先,让我们从制作一个中国省市区地图开始。

步骤

  1. 准备地图数据:从ECharts官网下载中国地图数据。
  2. 初始化图表:设置基本的图表配置。
  3. 绘制地图:使用echarts.registerMap方法注册地图,然后使用myChart.setOption方法绘制地图。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 注册地图
echarts.registerMap('china', require('path/to/china.json'));

// 配置图表
var option = {
    title: {
        text: '中国省市区地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        type: 'map',
        map: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: 200},
            {name: '上海', value: 300},
            // 其他省市数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

案例二:全球地图

简介

除了中国地图,ECharts也支持全球地图的制作。

步骤

  1. 准备全球地图数据:从ECharts官网下载全球地图数据。
  2. 初始化图表:设置基本的图表配置。
  3. 绘制地图:使用echarts.registerMap方法注册地图,然后使用myChart.setOption方法绘制地图。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 注册地图
echarts.registerMap('world', require('path/to/world.json'));

// 配置图表
var option = {
    title: {
        text: '全球地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        type: 'map',
        map: 'world',
        label: {
            show: true
        },
        data: [
            {name: 'United States', value: 200},
            {name: 'Canada', value: 300},
            // 其他国家数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

案例三:城市热力图

简介

热力图可以用来展示城市的热点区域。

步骤

  1. 准备城市数据:收集城市的温度、湿度等数据。
  2. 初始化图表:设置基本的图表配置。
  3. 绘制热力图:使用echarts-gl扩展绘制热力图。
// 引入 ECharts 主模块
var echarts = require('echarts/lib/echarts');
// 引入柱状图
require('echarts/lib/chart/bar');
// 引入提示框和标题组件
require('echarts/lib/component/tooltip');
require('echarts/lib/component/title');
// 引入3D柱状图扩展
require('echarts-gl');

// 初始化图表
var myChart = echarts.init(document.getElementById('main'));

// 配置图表
var option = {
    title: {
        text: '城市热力图'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c}'
    },
    xAxis3D: {
        type: 'category',
        data: ['北京', '上海', '广州', '深圳']
    },
    yAxis3D: {
        type: 'value'
    },
    zAxis3D: {
        type: 'value'
    },
    series: [{
        type: 'bar3D',
        data: [
            [0, 0, 0, 10],
            [0, 1, 0, 20],
            [0, 2, 0, 30],
            // 其他数据
        ],
        shader: {
            color: 'lambert'
        }
    }]
};

// 渲染图表
myChart.setOption(option);

案例四:地图缩放与拖拽

简介

在地图图表中,我们经常需要实现地图的缩放和拖拽功能。

步骤

  1. 初始化地图:设置基本的图表配置。
  2. 配置交互:设置series中的zoom和drag属性。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 配置图表
var option = {
    series: [{
        type: 'map',
        map: 'china',
        label: {
            show: true
        },
        zoom: 1.2, // 设置缩放比例
        drag: true, // 开启拖拽
        data: [
            // 省市区数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

案例五:多层级地图

简介

有时我们需要展示多层级地图,例如国家、省份、城市。

步骤

  1. 准备多层级地图数据:从ECharts官网下载多层级地图数据。
  2. 初始化图表:设置基本的图表配置。
  3. 绘制多层级地图:使用echarts.registerMap方法注册多层级地图,然后使用myChart.setOption方法绘制地图。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 注册多层级地图
echarts.registerMap('china', require('path/to/china.json'));

// 配置图表
var option = {
    title: {
        text: '多层级地图'
    },
    tooltip: {
        trigger: 'item'
    },
    series: [{
        type: 'map',
        map: 'china',
        label: {
            show: true
        },
        data: [
            {name: '北京', value: 200},
            {name: '北京市', value: 300},
            // 其他省市数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

案例六:地图样式自定义

简介

ECharts地图图表支持自定义地图样式,包括颜色、阴影等。

步骤

  1. 初始化地图:设置基本的图表配置。
  2. 自定义样式:在series中配置itemStyle和areaStyle属性。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 配置图表
var option = {
    series: [{
        type: 'map',
        map: 'china',
        label: {
            show: true
        },
        itemStyle: {
            color: '#f7f7f7',
            borderColor: '#333',
            shadowColor: '#333',
            shadowBlur: 10
        },
        areaStyle: {
            color: '#f1f1f1'
        },
        data: [
            // 省市区数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

案例七:地图交互效果

简介

地图图表支持多种交互效果,如点击事件、鼠标悬停等。

步骤

  1. 初始化地图:设置基本的图表配置。
  2. 配置交互效果:在series中配置tooltip、click等属性。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 配置图表
var option = {
    series: [{
        type: 'map',
        map: 'china',
        label: {
            show: true
        },
        tooltip: {
            trigger: 'item',
            formatter: '{b}: {c}'
        },
        click: function (params) {
            console.log(params.name + ' - ' + params.value);
        },
        data: [
            // 省市区数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

案例八:地图数据动态更新

简介

在实际应用中,地图数据可能会动态变化,例如实时监控、统计等。

步骤

  1. 初始化地图:设置基本的图表配置。
  2. 更新数据:使用myChart.setOption方法更新数据。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 配置图表
var option = {
    series: [{
        type: 'map',
        map: 'china',
        label: {
            show: true
        },
        data: [
            // 初始数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

// 定时更新数据
setInterval(function () {
    // 获取最新数据
    var newData = [
        // 最新数据
    ];

    // 更新图表数据
    myChart.setOption({
        series: [{
            data: newData
        }]
    });
}, 5000);

案例九:地图动画效果

简介

地图图表支持动画效果,如淡入淡出、平移等。

步骤

  1. 初始化地图:设置基本的图表配置。
  2. 配置动画效果:在animation属性中设置动画类型、持续时间等。
// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 配置图表
var option = {
    series: [{
        type: 'map',
        map: 'china',
        label: {
            show: true
        },
        animation: {
            duration: 1000,
            easing: 'bounceOut'
        },
        data: [
            // 省市区数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

案例十:地图插件扩展

简介

ECharts地图图表支持插件扩展,例如高德地图、百度地图等。

步骤

  1. 引入插件:从ECharts官网下载并引入所需插件。
  2. 初始化地图:设置基本的图表配置。
  3. 配置插件:在series中配置mapType属性。
// 引入高德地图插件
require('path/to/AMap.js');

// 初始化地图
var myChart = echarts.init(document.getElementById('main'));

// 配置图表
var option = {
    series: [{
        type: 'map',
        map: 'AMap',
        label: {
            show: true
        },
        data: [
            // 省市区数据
        ]
    }]
};

// 渲染图表
myChart.setOption(option);

通过以上10个案例,相信你已经掌握了ECharts地图图表的基本制作方法。在实际应用中,你可以根据自己的需求,灵活运用这些方法,制作出美观、实用的地图图表。祝你学习愉快!

分享到: