跳到主要内容

气泡图

气泡图地理区域上方会显示不同大小的圆点,圆形面积与其在数据集中的数值会成正比。

案例

实现

下面我们来介绍如何绘制一个常见的气泡图。

import { Scene, PointLayer } from '@antv/l7';
import { GaodeMap } from '@antv/l7-maps';

const scene = new Scene({
  id: 'map',
  map: new GaodeMap({
    style: 'light',
    center: [140.067171, 36.26186],
    zoom: 5.32,
    maxZoom: 10,
  }),
});
scene.on('loaded', () => {
  fetch('https://gw.alipayobjects.com/os/basement_prod/d3564b06-670f-46ea-8edb-842f7010a7c6.json')
    .then((res) => res.json())
    .then((data) => {
      const pointLayer = new PointLayer({})
        .source(data)
        .shape('circle')
        .size('mag', [1, 25])
        .color('mag', (mag) => {
          return mag > 4.5 ? '#5B8FF9' : '#5CCEA1';
        })
        .style({
          opacity: 0.3,
          strokeWidth: 1,
        });
      scene.addLayer(pointLayer);
    });
});

source

气泡图接受普通的点数据。

shape

气泡图的 shape 一般为 circle,也可以是 square、triangle 等其他形状。

size

气泡图的 size 一般用于表示数据中的某个字段,因此不会使用常量而是使用数据映射。

layer.size('area', [1, 100]); // 使用区间映射
layer.size('area', (area) => {
  // 使用回调函数实现映射
  return area * 10;
});

color

气泡图的 color 一般也会用于表示数据中的某个字段,因此不会使用常量而是使用数据映射。

layer.color('area', ['#f00', '#ff0']); // 使用区间映射
layer.color('area', (area) => {
  // 使用回调函数实现映射
  if (area > 100) {
    return '#f00';
  } else {
    return '#ff0';
  }
});
© Copyright 2026 Ant Group Co., Ltd..备案号:京ICP备15032932号-38
全站搜索
文档与示例输入关键词开始搜索

输入关键词,查找文档、API 与示例

↑↓选择↵打开Esc关闭