教你轻松上手ECharts地图图表:50个实用案例解析

2026-07-19 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,包括地图图表。地图图表在数据可视化中扮演着重要角色,能够直观地展示地理分布和空间关系。本篇文章将为你提供50个实用案例解析,帮助你轻松上手ECharts地图图表。

案例一:中国地图基本展示

首先,我们从最基础的地图展示开始。以下是一个简单的中国地图图表的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '中国',
        type: 'map',
        mapType: 'china',
        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)
        }]
    }]
};

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

案例二:世界地图基本展示

除了中国地图,ECharts 也支持世界地图的展示。以下是一个简单的世界地图图表的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '世界',
        type: 'map',
        mapType: 'world',
        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)
        }]
    }]
};

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

案例三:自定义地图

ECharts 支持自定义地图,你可以通过定义自己的地图数据来实现。以下是一个自定义地图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '自定义地图',
        type: 'map',
        mapType: 'customMap',
        label: {
            show: true
        },
        data: [{
            name: '区域1',
            value: Math.round(Math.random() * 1000)
        }, {
            name: '区域2',
            value: Math.round(Math.random() * 1000)
        }]
    }]
};

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

案例四:地图上的热力图

在地图上展示热力图可以更直观地展示数据的密集程度。以下是一个地图上热力图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '热力图',
        type: 'heatmap',
        coordinateSystem: 'geo',
        data: [
            [116.46,39.92,90],
            [116.46,39.92,80],
            [116.46,39.92,70],
            [116.46,39.92,60],
            [116.46,39.92,50],
            [116.46,39.92,40],
            [116.46,39.92,30],
            [116.46,39.92,20],
            [116.46,39.92,10],
            [116.46,39.92,0]
        ]
    }]
};

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

案例五:地图上的折线图

在地图上展示折线图可以展示数据的变化趋势。以下是一个地图上折线图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广东']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150],
        type: 'line'
    }]
};

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

案例六:地图上的散点图

在地图上展示散点图可以展示数据的分布情况。以下是一个地图上散点图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    xAxis: {
        type: 'value'
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [
            [116.46,39.92],
            [121.47,31.23],
            [113.23,23.16]
        ],
        type: 'scatter'
    }]
};

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

案例七:地图上的柱状图

在地图上展示柱状图可以展示数据的比较情况。以下是一个地图上柱状图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广东']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [120, 200, 150],
        type: 'bar'
    }]
};

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

案例八:地图上的饼图

在地图上展示饼图可以展示数据的占比情况。以下是一个地图上饼图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '饼图',
        type: 'pie',
        radius: ['50%', '70%'],
        avoidLabelOverlap: false,
        label: {
            show: false,
            position: 'center'
        },
        emphasis: {
            label: {
                show: true,
                fontSize: '30',
                fontWeight: 'bold'
            }
        },
        labelLine: {
            show: false
        },
        data: [
            {value: 335, name: '北京'},
            {value: 310, name: '上海'},
            {value: 234, name: '广东'}
        ]
    }]
};

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

案例九:地图上的雷达图

在地图上展示雷达图可以展示数据的综合情况。以下是一个地图上雷达图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广东']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: '雷达图',
        type: 'radar',
        data: [
            [{value: [90, 80, 70, 60, 50]}, '北京'],
            [{value: [80, 70, 60, 50, 40]}, '上海'],
            [{value: [70, 60, 50, 40, 30]}, '广东']
        ]
    }]
};

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

案例十:地图上的K线图

在地图上展示K线图可以展示股票等金融数据的走势。以下是一个地图上K线图的示例代码:

// 引入 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: '地图上的K线图'
    },
    tooltip: {
        trigger: 'item'
    },
    xAxis: {
        type: 'category',
        data: ['北京', '上海', '广东']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        name: 'K线图',
        type: 'k',
        data: [
            [120, 200, 150, 180],
            [150, 180, 160, 170],
            [160, 170, 180, 190]
        ]
    }]
};

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

案例十一:地图上的地图

在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: 'china',
        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)
        }]
    }]
};

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

案例十二:地图上的地图

在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: 'china',
        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)
        }]
    }]
};

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

案例十三:地图上的地图

在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: 'china',
        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)
        }]
    }]
};

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

案例十四:地图上的地图

在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:

// 引入 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: {
        trigger: 'item'
    },
    series: [{
        name: '地图',
        type: 'map',
        mapType: 'china',
        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)
        }]
    }]
};

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

案例十五:地图上的地图

在地图上展示地图可以展示更复杂的地理信息。以下是一个地图上地图的示例代码:

”`javascript // 引入 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: {
    trigger: 'item'
},
series: [{
    name: '地图',
    type: 'map',
    mapType: 'china',
    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)
    }]
}]

};

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

分享到: