VISALL 动态折线图 (Dynamic Line Chart) 使用文档
简介
动态折线图是VISALL数据可视化库中的一种高级图表类型,专为展示时间序列数据的动态变化设计。该组件能够生动地展示数据随时间的变化趋势,并支持动画效果,使数据变化过程更加直观可视。
基本用法
import { render } from 'path/to/bundle.esm.min.js';
// 创建动态折线图
const chart = render(container, {
layers: [
{
type: 'dynamicLine',
dataIndex: 0,
encoding: {
x: '日期', // X轴时间字段名
y: '销售额' // Y轴数值字段名
}
}
],
data: [
{
values: [
{ 日期: '2023-01-01', 销售额: 320 },
{ 日期: '2023-01-02', 销售额: 120 },
{ 日期: '2023-01-03', 销售额: 220 },
// ...更多数据
]
}
]
});
配置参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| encoding.x | string | - | X轴映射字段,必须是日期类型字段 |
| encoding.y | string | - | Y轴映射字段,必须是数值类型 |
| encoding.z | string | - | 可选的第三维度分类字段,用于多系列数据 |
| dataIndex | number | 0 | 指定使用的数据集索引 |
| dvShowWaterMark | boolean | false | 是否显示水印 |
数据要求
- X轴字段要求为日期类型
- Y轴字段要求为数值类型
- 数据量至少需要大于1条
- 按时间顺序提供数据,图表会自动排序
高级用法
1. 多系列动态折线图
当需要展示多个指标或多个类别的时间序列数据时,可以使用z字段进行分类:
{
type: 'dynamicLine',
encoding: {
x: '日期',
y: '销售额',
z: '地区'
}
}
2. 添加水印
在重要的数据可视化场景中,可以添加水印:
{
type: 'dynamicLine',
encoding: {
x: '日期',
y: '销售额'
},
dvShowWaterMark: true
}
潜规则与注意事项
-
时间轴排序机制:
- 动态折线图会自动对X轴日期数据进行升序排序,确保数据按时间顺序展示。
- 排序通过
transforms: [{ type: 'sort', order: 'ascending' }, { type: 'deDuplication' }]实现。
-
动画过渡:
- 数据更新时会有平滑的动画过渡效果,默认动画持续时间为1000毫秒。
- 动画通过
stateAnimation属性和LineTimeLineHelper辅助类实现。
-
末端标签显示:
- 动态折线图在线条末端显示标签,包含系列名称和数值。
- 标签通过
endLabel属性配置,支持富文本格式。
-
时间轴控制:
- 图表自带时间轴控制组件,可以手动控制数据展示的时间点。
- 默认会显示所有时间点,按时间顺序排列。
-
单位显示规则