从新手到高手:echarts地图图表制作实用案例详解

2026-09-23 0 阅读

ECharts 是一个使用 JavaScript 实现的开源可视化库,它提供了一整套图表解决方案,可以轻松实现各种复杂的数据可视化需求。其中,地图图表是 ECharts 中一个非常有用的功能,可以帮助我们直观地展示地理位置分布和数据关联。本文将带领新手入门 ECharts 地图图表的制作,并通过实际案例进行详解,帮助读者从新手逐步成长为高手。

一、ECharts 地图图表基础

1.1 地图类型

ECharts 支持多种地图类型,包括中国地图、世界地图、省份地图、城市地图等。根据实际需求选择合适的地图类型,可以更好地展示数据。

1.2 地图数据格式

ECharts 地图数据格式通常采用 JSON 格式,其中包含地图的经纬度、名称、属性等信息。在制作地图图表之前,需要准备相应的地图数据。

1.3 地图配置项

ECharts 地图图表的制作需要配置一系列的选项,包括地图类型、地图数据、视觉映射、事件等。以下是一些常见的地图配置项:

  • type:地图类型,如 'map''china''world' 等。
  • map:地图数据,可以是 JSON 字符串或 URL。
  • series:系列配置,用于定义地图上的各种图表元素,如散点图、热力图等。
  • visualMap:视觉映射配置,用于控制地图上的颜色、大小等视觉属性。

二、实用案例详解

2.1 案例 1:中国地图散点图

本案例将展示如何使用 ECharts 制作一个中国地图散点图,展示不同省份的某个指标数据。

2.1.1 数据准备

首先,我们需要准备中国地图数据和对应的指标数据。这里以 GDP 数据为例。

[
  {name: '北京', value: 15000},
  {name: '上海', value: 20000},
  {name: '广东', value: 25000},
  // ... 其他省份数据
]

2.1.2 ECharts 配置

接下来,我们将使用 ECharts 配置散点图。

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

var option = {
  title: {
    text: '中国地图散点图'
  },
  tooltip: {
    trigger: 'item'
  },
  visualMap: {
    min: 0,
    max: 30000,
    left: 'left',
    top: 'bottom',
    text: ['高', '低'], // 文本,默认为数值文本
    calculable: true
  },
  geo: {
    map: 'china',
    roam: true,
    label: {
      emphasis: {
        show: false
      }
    },
    itemStyle: {
      normal: {
        areaColor: '#323c48',
        borderColor: '#111'
      },
      emphasis: {
        areaColor: '#2a333d'
      }
    }
  },
  series: [
    {
      name: 'GDP',
      type: 'scatter',
      coordinateSystem: 'geo',
      data: [
        {name: '北京', value: [116.46, 39.92, 15000]},
        {name: '上海', value: [121.48, 31.22, 20000]},
        {name: '广东', value: [113.23, 23.16, 25000]},
        // ... 其他省份数据
      ],
      symbolSize: function (val) {
        return val[2] / 1000;
      },
      label: {
        normal: {
          formatter: '{b}',
          position: 'right',
          show: false
        },
        emphasis: {
          show: true
        }
      },
      itemStyle: {
        normal: {
          color: '#f4e925',
          shadowBlur: 10,
          shadowColor: 'rgba(120, 36, 50, 0.5)',
          shadowOffsetY: 5,
          label: {
            show: true,
            formatter: '{b}: {c}'
          }
        }
      }
    }
  ]
};

myChart.setOption(option);

2.2 案例 2:世界地图热力图

本案例将展示如何使用 ECharts 制作一个世界地图热力图,展示全球某个指标数据的分布情况。

2.2.1 数据准备

首先,我们需要准备世界地图数据和对应的指标数据。这里以全球 GDP 数据为例。

[
  {name: '美国', value: 20000},
  {name: '中国', value: 15000},
  {name: '日本', value: 10000},
  // ... 其他国家数据
]

2.2.2 ECharts 配置

接下来,我们将使用 ECharts 配置热力图。

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

var option = {
  title: {
    text: '世界地图热力图'
  },
  tooltip: {
    trigger: 'item',
    formatter: '{b}: {c}'
  },
  visualMap: {
    min: 0,
    max: 30000,
    left: 'left',
    top: 'bottom',
    text: ['高', '低'],
    calculable: true
  },
  geo: {
    map: 'world',
    roam: true,
    label: {
      emphasis: {
        show: false
      }
    },
    itemStyle: {
      normal: {
        areaColor: '#323c48',
        borderColor: '#111'
      },
      emphasis: {
        areaColor: '#2a333d'
      }
    }
  },
  series: [
    {
      name: 'GDP',
      type: 'heatmap',
      coordinateSystem: 'geo',
      data: [
        {name: '美国', value: [100, 40, 20000]},
        {name: '中国', value: [110, 40, 15000]},
        {name: '日本', value: [130, 40, 10000]},
        // ... 其他国家数据
      ],
      label: {
        normal: {
          formatter: '{b}',
          position: 'right',
          show: false
        },
        emphasis: {
          show: true
        }
      },
      itemStyle: {
        emphasis: {
          label: {
            show: true
          }
        }
      }
    }
  ]
};

myChart.setOption(option);

三、总结

通过本文的介绍,相信读者已经对 ECharts 地图图表的制作有了初步的了解。在实际应用中,可以根据具体需求选择合适的地图类型、数据格式和配置项,制作出美观、实用的地图图表。希望本文对新手读者有所帮助,也希望读者在学习和实践过程中不断积累经验,成长为 ECharts 地图图表制作的高手。

分享到: