VISALL 动态气泡图 (Dynamic Bubble) 使用文档
简介
动态气泡图是VISALL数据可视化库中的高级散点图表类型之一,通过时间序列展示数据点在二维空间中的动态变化。该组件支持气泡大小映射、多维度数据分析以及时间序列动画,适用于展示随时间变化的多维数据关系。
基本用法
import { render } from 'path/to/bundle.esm.min.js';
// 创建动态气泡图
const chart = render(container, {
layers: [
{
type: 'dynamicBubble',
dataIndex: 0,
encoding: {
x: 'GDP', // X轴字段名
y: '人均收入', // Y轴字段名
color: '国家', // 颜色分类字段
group: '年份', // 时间分组字段
size: '人口' // 气泡大小字段(可选)
},
animationDuration: 1500
}
],
data: [
{
values: [
{ 国家: '中国', 年份: '2018', GDP: 13.6, 人均收入: 9700, 人口: 14 },
{ 国家: '美国', 年份: '2018', GDP: 20.5, 人均收入: 62000, 人口: 3.3 },
{ 国家: '中国', 年份: '2019', GDP: 14.3, 人均收入: 10500, 人口: 14.1 },
{ 国家: '美国', 年份: '2019', GDP: 21.4, 人均收入: 65000, 人口: 3.3 },
// ...更多数据
]
}
]
});
配置参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| encoding.x | string | - | X轴映射字段,必须提供一个数值类型字段 |
| encoding.y | string | - | Y轴映射字段,必须提供一个数值类型字段 |
| encoding.color | string | - | 气泡颜色映射字段,通常是分类字段 |
| encoding.group | string | - | 时间分组字段,用于动态展示不同时间点的数据 |
| encoding.size | string | - | 可选的气泡大小映射字段,必须是数值类型 |
| dataIndex | number | 0 | 指定使用的数据集索引 |
| animationDuration | number | 1200 | 动画过渡时间,单位为毫秒 |
| dvShowWaterMark | boolean | false | 是否显示水印(通常包含当前时间点信息) |
数据要求
- X轴字段要求为数值类型
- Y轴字段要求为数值类型
- 分组字段通常为日期或字符串类型
- 同一个时间点内的数据项color字段值不应重复
- 每个时间点数据量至少需要2条以上
- 时间序列至少需要2个时间点
高级用法
1. 调整气泡大小范围
动态气泡图会根据视图大小自动调整气泡的最小和最大尺寸,也可通过设置布局类型间接控制:
{
type: 'dynamicBubble',
encoding: {
x: 'GDP',
y: '人均收入',
color: '国家',
group: '年份',
size: '人口'
},
layout: 'large' // 可选值: small, small_2_1, small_1_2, large, large_3_2
}