学会echarts地图图表:轻松制作个性化中国地图,案例详解实用技巧

2026-08-22 0 阅读

ECharts 是一款使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型,包括地图图表。地图图表在数据可视化中非常有用,可以帮助我们直观地展示地理位置相关的数据。本文将详细介绍如何使用 ECharts 制作个性化的中国地图,并提供一些实用的技巧和案例。

一、ECharts 地图图表的基本使用

1.1 引入 ECharts 库

首先,我们需要在 HTML 文件中引入 ECharts 库。可以通过以下代码实现:

<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>

1.2 准备地图数据

ECharts 地图图表需要地图数据,我们可以通过 ECharts 官方网站提供的地图数据或者自己绘制地图数据。这里以 ECharts 官方提供的地图数据为例:

var geoCoordMap = {
  '北京': [116.46,39.92],
  '上海': [121.48,31.22],
  // ... 其他城市坐标
};

1.3 初始化地图图表

在 HTML 中添加一个用于绘制地图图表的容器,并设置其 ID。然后,使用以下代码初始化地图图表:

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

1.4 配置地图图表

配置地图图表的参数,包括地图类型、标题、地图区域等。以下是一个简单的示例:

var option = {
  title: {
    text: '中国地图示例',
    subtext: '数据来自 ECharts 官方网站',
    left: 'center'
  },
  tooltip: {
    trigger: 'item'
  },
  geo: {
    map: 'china',
    label: {
      emphasis: {
        show: false
      }
    },
    roam: true,
    itemStyle: {
      normal: {
        areaColor: '#323c48',
        borderColor: '#111'
      },
      emphasis: {
        areaColor: '#2a333d'
      }
    }
  },
  series: [
    {
      name: '数据',
      type: 'effectScatter',
      coordinateSystem: 'geo',
      data: [
        {name: '北京', value: [116.46,39.92,100]},
        {name: '上海', value: [121.48,31.22,80]},
        // ... 其他数据
      ],
      symbolSize: function (val) {
        return val[2] / 10;
      },
      showEffectOn: 'render',
      rippleEffect: {
        brushType: 'stroke'
      },
      hoverAnimation: true,
      label: {
        normal: {
          formatter: '{b}',
          position: 'right',
          show: true
        }
      },
      itemStyle: {
        normal: {
          color: '#f4e925',
          shadowBlur: 10,
          shadowColor: '#333'
        }
      },
      zlevel: 1
    }
  ]
};

myChart.setOption(option);

二、个性化中国地图

2.1 修改地图颜色

itemStylenormalemphasis 中,我们可以修改地图的颜色:

itemStyle: {
  normal: {
    areaColor: '#323c48', // 地图正常状态下的颜色
    borderColor: '#111' // 地图边框颜色
  },
  emphasis: {
    areaColor: '#2a333d' // 地图高亮状态下的颜色
  }
}

2.2 添加地图标注

series 中,我们可以添加地图标注:

series: [
  {
    name: '标注',
    type: 'text',
    coordinateSystem: 'geo',
    data: [
      {name: '北京', value: [116.46,39.92]},
      {name: '上海', value: [121.48,31.22]},
      // ... 其他标注
    ],
    symbolSize: 10,
    color: '#fff',
    label: {
      normal: {
        formatter: '{b}',
        position: 'left',
        show: true
      }
    }
  }
]

2.3 添加地图阴影

itemStylenormalemphasis 中,我们可以添加地图阴影:

itemStyle: {
  normal: {
    shadowBlur: 10,
    shadowColor: '#333'
  },
  emphasis: {
    shadowBlur: 20,
    shadowColor: '#333'
  }
}

三、案例详解

3.1 地图点击事件

tooltip 中,我们可以添加点击事件:

tooltip: {
  trigger: 'item',
  formatter: function (params) {
    return params.name + '<br>经度:' + params.value[0] + '<br>纬度:' + params.value[1];
  }
}

3.2 动画效果

series 中,我们可以添加动画效果:

animation: true,
animationDuration: 1000,
animationEasing: 'cubicInOut',

3.3 数据动态更新

我们可以通过 JavaScript 动态更新地图数据:

myChart.setOption({
  series: [{
    data: [
      {name: '北京', value: [116.46,39.92,100]},
      {name: '上海', value: [121.48,31.22,80]},
      // ... 其他数据
    ]
  }]
});

四、总结

通过本文的介绍,相信你已经学会了如何使用 ECharts 制作个性化的中国地图。在实际应用中,你可以根据自己的需求进行修改和调整,以实现更加丰富的地图效果。希望这些技巧和案例能够帮助你更好地理解和应用 ECharts 地图图表。

分享到: