轻松上手ECharts地图图表:30个实用案例解析,助你快速掌握可视化技巧

2026-09-05 0 阅读

在数据可视化领域,ECharts地图图表以其丰富的功能和灵活性受到了广泛关注。它不仅可以帮助我们展示地理位置信息,还能通过丰富的视觉元素和交互方式,让数据更加生动和易于理解。本文将为您解析30个实用案例,帮助您快速掌握ECharts地图图表的可视化技巧。

案例一:中国34个省级行政区地图

1.1 案例背景

展示中国34个省级行政区的地理分布情况。

1.2 技术要点

  • 使用ECharts内置的地图数据。
  • 利用series配置项中的mapType属性。

1.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '中国34个省级行政区地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'map',
        mapType: 'china',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: '北京', value: Math.round(Math.random() * 1000)},
            // ... 其他省份数据
        ]
    }]
};

myChart.setOption(option);

案例二:全球地图

2.1 案例背景

展示全球各大洲的地理分布情况。

2.2 技术要点

  • 使用ECharts内置的全球地图数据。
  • 配置series中的mapType属性为’world’。

2.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '全球地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'map',
        mapType: 'world',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: 'United States', value: Math.round(Math.random() * 1000)},
            // ... 其他国家数据
        ]
    }]
};

myChart.setOption(option);

案例三:自定义地图

3.1 案例背景

展示自定义地图,如某个城市或景区的地图。

3.2 技术要点

  • 使用自定义地图数据。
  • 配置series中的mapType属性为自定义地图名称。

3.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '自定义地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'map',
        mapType: '自定义地图名称',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: '景点1', value: Math.round(Math.random() * 1000)},
            // ... 其他景点数据
        ]
    }]
};

myChart.setOption(option);

案例四:地图上的散点图

4.1 案例背景

在地图上展示散点图,如某个地区的人口分布。

4.2 技术要点

  • 使用series配置项中的type属性为’scatter’。
  • 配置series中的coordinateSystem属性为’geo’。

4.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的散点图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'scatter',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例五:地图上的热力图

5.1 案例背景

在地图上展示热力图,如某个地区的气温分布。

5.2 技术要点

  • 使用series配置项中的type属性为’heatmap’。
  • 配置series中的coordinateSystem属性为’geo’。

5.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的热力图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'heatmap',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例六:地图上的折线图

6.1 案例背景

在地图上展示折线图,如某个地区的气温变化趋势。

6.2 技术要点

  • 使用series配置项中的type属性为’line’。
  • 配置series中的coordinateSystem属性为’geo’。

6.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的折线图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'line',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例七:地图上的柱状图

7.1 案例背景

在地图上展示柱状图,如某个地区的经济总量。

7.2 技术要点

  • 使用series配置项中的type属性为’stack’。
  • 配置series中的coordinateSystem属性为’geo’。

7.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的柱状图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'stack',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例八:地图上的雷达图

8.1 案例背景

在地图上展示雷达图,如某个地区的综合发展水平。

8.2 技术要点

  • 使用series配置项中的type属性为’radar’。
  • 配置series中的coordinateSystem属性为’geo’。

8.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的雷达图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'radar',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例九:地图上的饼图

9.1 案例背景

在地图上展示饼图,如某个地区的产业结构。

9.2 技术要点

  • 使用series配置项中的type属性为’pie’。
  • 配置series中的coordinateSystem属性为’geo’。

9.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的饼图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'pie',
        coordinateSystem: 'geo',
        data: [
            {name: '产业1', value: 数值},
            // ... 其他产业数据
        ]
    }]
};

myChart.setOption(option);

案例十:地图上的地图

10.1 案例背景

在地图上展示另一个地图,如某个城市的区域划分。

10.2 技术要点

  • 使用series配置项中的type属性为’map’。
  • 配置series中的mapType属性为目标地图名称。

10.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'map',
        mapType: '目标地图名称',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: '区域1', value: 数值},
            // ... 其他区域数据
        ]
    }]
};

myChart.setOption(option);

案例十一:地图上的时间轴

11.1 案例背景

在地图上展示时间轴,如某个地区的气温变化趋势。

11.2 技术要点

  • 使用series配置项中的type属性为’timeaxis’。
  • 配置series中的coordinateSystem属性为’geo’。

11.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的时间轴'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'timeaxis',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [日期, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例十二:地图上的散点图+热力图

12.1 案例背景

在地图上同时展示散点图和热力图,如某个地区的气温分布和人口密度。

12.2 技术要点

  • 使用series配置项中的type属性分别为’scatter’和’heatmap’。
  • 配置series中的coordinateSystem属性为’geo’。

12.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的散点图+热力图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'scatter',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }, {
        name: '数据',
        type: 'heatmap',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例十三:地图上的折线图+柱状图

13.1 案例背景

在地图上同时展示折线图和柱状图,如某个地区的气温变化趋势和经济总量。

13.2 技术要点

  • 使用series配置项中的type属性分别为’line’和’stack’。
  • 配置series中的coordinateSystem属性为’geo’。

13.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的折线图+柱状图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'line',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }, {
        name: '数据',
        type: 'stack',
        coordinateSystem: 'geo',
        data: [
            {name: '地区1', value: [经度, 纬度, 数值]},
            // ... 其他地区数据
        ]
    }]
};

myChart.setOption(option);

案例十四:地图上的饼图+地图

14.1 案例背景

在地图上同时展示饼图和另一个地图,如某个地区的产业结构和区域划分。

14.2 技术要点

  • 使用series配置项中的type属性分别为’pie’和’map’。
  • 配置series中的coordinateSystem属性为’geo’。

14.3 代码示例

var myChart = echarts.init(document.getElementById('main'));

var option = {
    title: {
        text: '地图上的饼图+地图'
    },
    tooltip: {},
    visualMap: {
        min: 0,
        max: 100,
        left: 'left',
        top: 'bottom',
        text: ['高','低'],           // 文本,默认为数值文本
        calculable: true
    },
    series: [{
        name: '数据',
        type: 'pie',
        coordinateSystem: 'geo',
        data: [
            {name: '产业1', value: 数值},
            // ... 其他产业数据
        ]
    }, {
        name: '数据',
        type: 'map',
        mapType: '目标地图名称',
        roam: true,
        label: {
            show: true
        },
        data: [
            {name: '区域1', value: 数值},
            // ... 其他区域数据
        ]
    }]
};

myChart.setOption(option);

案例十五:地图上的地图+地图

15.1 案例背景

在地图上同时展示两个地图,如某个地区的区域划分和周边地区。

15.2 技术要点

  • 使用series配置项中的type属性均为’map’。
  • 配置series中的coordinateSystem属性为’geo’。

15.3 代码示例

”`javascript var myChart = echarts.init(document.getElementById(‘main’));

var option = {

title: {
    text: '地图上的地图+地图'
},
tooltip: {},
visualMap: {
    min: 0,
    max: 100,
    left: 'left',
    top: 'bottom',
    text: ['高','低'],           // 文本,默认为数值文本
    calculable: true
},
series: [{
    name: '数据',
    type: 'map',
    mapType: '目标地图名称',
    roam: true,
    label: {
        show: true
    },
    data: [
        {name: '区域
分享到: