VISALL 排名折线图 (Ranking Line Chart) 使用文档
简介
排名折线图是VISALL数据可视化库中的一种特殊图表类型,专门用于展示多个数据系列在不同时间点上的排名变化趋势。该图表能够直观地展示各个对象在时间维度上的排名起伏,非常适合用于展示竞争格局的动态变化、业绩排名的波动等场景。
基本用法
import { render } from 'path/to/bundle.esm.min.js';
// 创建 排名折线图
const chart = render(container, {
layers: [
{
type: 'rankingLine',
dataIndex: 0,
encoding: {
x: '日期', // X轴字段名(时间维度)
y: '数值', // Y轴字段名(用于排名的数值)
z: '类别' // 分类字段名(不同的线)
}
}
],
data: [
{
values: [
{ 日期: '2023-01', 数值: 320, 类别: 'A产品' },
{ 日期: '2023-01', 数值: 120, 类别: 'B产品' },
{ 日期: '2023-01', 数值: 220, 类别: 'C产品' },
{ 日期: '2023-02', 数值: 290, 类别: 'A产品' },
{ 日期: '2023-02', 数值: 220, 类别: 'B产品' },
{ 日期: '2023-02', 数值: 190, 类别: 'C产品' },
// ...更多数据
]
}
]
});
配置参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| encoding.x | string | - | X轴映射字段,必须提供一个时间/日期类型字段 |
| encoding.y | string | - | Y轴映射字段,必须是数值类型,用于计算排名 |
| encoding.z | string | - | 分类字段,用于区分不同的数据系列 |
| dataIndex | number | 0 | 指定使用的数据集索引 |
数据要求
- X轴字段要求为日期 或字符串类型,表示时间维度
- Y轴字段要求为数值类型,用于确定排名
- Z轴字段要求为字符串类型,用于分类
- X轴数据点数量应大于2
- Y轴数据必须存在
- Z轴分类必须存在
- 数据量至少需要大于1条
工作原理
排名折线图通过以下步骤工作:
- 按时间维度(X轴)对数据进行排序
- 在每个时间点,根据数值(Y轴)对所有分类(Z轴)进行排名计算
- 将排名结果映射到Y轴坐标,并使用折线连接相同分类的不同时间点
- 排名值越小,位置越靠上(排名第1显示在最上方)
高级用法
动态排名变化展示
排名折线图特别适合展示一段时间内的动态排名变化:
{
type: 'rankingLine',
encoding: {
x: '季度',
y: '销售额',
z: '产品类别'
}
}