学习echarts地图图表,从这10个实战案例开始

2026-11-04 0 阅读

地图图表是一种非常直观的数据展示方式,它能够将地理信息与数据统计结合起来,使得复杂的数据变得更加易于理解和分析。ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,包括地图图表。以下是从基础到进阶的10个实战案例,帮助你快速掌握 ECharts 地图图表的制作。

实战案例一:中国地图基础展示

  1. 案例描述:展示中国地图的基本轮廓,并标注主要城市。
  2. 技术要点:使用 echarts.map 地图类型,配置 china 地图数据。
  3. 代码示例:
var myChart = echarts.init(document.getElementById('main'));

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: '北京',
            value: 100
        }]
    }]
};

myChart.setOption(option);

实战案例二:世界地图基础展示

  1. 案例描述:展示世界地图的基本轮廓,并标注部分国家。
  2. 技术要点:使用 echarts.map 地图类型,配置 world 地图数据。
  3. 代码示例:
var myChart = echarts.init(document.getElementById('main'));

var option = {
    series: [{
        type: 'map',
        mapType: 'world',
        label: {
            show: true
        },
        data: [{
            name: 'United States',
            value: 100
        }]
    }]
};

myChart.setOption(option);

实战案例三:省级地图展示

  1. 案例描述:展示中国某个省份的地图,并标注主要城市。
  2. 技术要点:使用 echarts.map 地图类型,配置自定义地图数据。
  3. 代码示例:
var myChart = echarts.init(document.getElementById('main'));

var option = {
    series: [{
        type: 'map',
        mapType: 'province',
        label: {
            show: true
        },
        data: [{
            name: 'Shanghai',
            value: 100
        }]
    }]
};

myChart.setOption(option);

实战案例四:多级地图联动

  1. 案例描述:展示中国地图,点击某个省份后,展示该省份下属的市级行政区地图。
  2. 技术要点:使用 echarts.map 地图类型,结合 dataRange 组件实现联动。
  3. 代码示例:
// 省份地图配置
var provinceOption = {
    // ... 省份地图配置
};

// 市级地图配置
var cityOption = {
    // ... 市级地图配置
};

// 联动函数
function switchMap(mapType) {
    if (mapType === 'province') {
        myChart.setOption(provinceOption);
    } else if (mapType === 'city') {
        myChart.setOption(cityOption);
    }
}

实战案例五:地图数据动态更新

  1. 案例描述:展示中国地图,点击某个省份后,实时更新该省份的数据。
  2. 技术要点:使用 echarts 的 setOption 方法动态更新数据。
  3. 代码示例:
// 初始数据
var data = {
    // ... 初始数据
};

// 更新数据函数
function updateData(newData) {
    data = newData;
    myChart.setOption({
        series: [{
            data: data
        }]
    });
}

实战案例六:地图事件交互

  1. 案例描述:展示中国地图,点击某个省份后,弹出该省份的详细信息。
  2. 技术要点:使用 echarts 的 on 方法监听地图事件。
  3. 代码示例:
myChart.on('click', function (params) {
    if (params.componentType === 'series') {
        alert(params.name + '的详细信息:' + params.value);
    }
});

实战案例七:地图动画效果

  1. 案例描述:展示中国地图,省份的标注随着鼠标移动而动态变化。
  2. 技术要点:使用 echarts 的 animation 配置实现动画效果。
  3. 代码示例:
var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true,
            formatter: '{b}'
        },
        animation: true,
        data: [{
            name: 'Beijing',
            value: 100
        }]
    }]
};

实战案例八:地图热力图

  1. 案例描述:展示中国地图,使用热力图展示某个指标在不同省份的分布情况。
  2. 技术要点:使用 echarts 的 heatmap 组件实现热力图效果。
  3. 代码示例:
var myChart = echarts.init(document.getElementById('main'));

var option = {
    series: [{
        type: 'heatmap',
        coordinateSystem: 'geo',
        data: [
            // ... 热力图数据
        ]
    }]
};

实战案例九:地图多维度数据展示

  1. 案例描述:展示中国地图,同时展示多个指标在不同省份的分布情况。
  2. 技术要点:使用多个 series 组件同时展示不同指标。
  3. 代码示例:
var myChart = echarts.init(document.getElementById('main'));

var option = {
    series: [{
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: 'Beijing',
            value: [100, 80]
        }]
    }, {
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: 'Beijing',
            value: [90, 70]
        }]
    }]
};

实战案例十:地图数据可视化与交互

  1. 案例描述:展示中国地图,使用交互式组件(如按钮、下拉菜单等)控制地图的显示效果。
  2. 技术要点:使用 echarts 的 toolTip、legend 等组件实现交互效果。
  3. 代码示例:
var myChart = echarts.init(document.getElementById('main'));

var option = {
    tooltip: {
        trigger: 'item'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data: ['Beijing', 'Shanghai']
    },
    series: [{
        name: 'China',
        type: 'map',
        mapType: 'china',
        label: {
            show: true
        },
        data: [{
            name: 'Beijing',
            value: 100
        }, {
            name: 'Shanghai',
            value: 80
        }]
    }]
};

通过以上10个实战案例,相信你已经对 ECharts 地图图表的制作有了初步的了解。在实际应用中,你可以根据自己的需求选择合适的案例进行学习和实践。祝你学习愉快!

分享到: