DynamicDvSankeyHelper
DynamicSankeyHelper
目前的standard-chart为单次渲染模式,两次 渲染间的状态不能做记录,所以框架为桑基图与时间轴的联动做了一个辅助类DynamicSankeyHelper
DynamicSankeyHelper初始化在standardChart之后
const chart = standardChart.init('chart', 'mobile-app-light');
const helper = new standardChart.helper.DynamicSankeyHelper(
chart,
option,
{
data: sourceData,
link: sourceLink,
info: sourceInfo,
handleLinksStatus: true,
handleFormatterStatus: true,
handleTooltipStatus: true,
handleNodeLengthPercentStatus: true,
}
);
helper.play(sourceData.length - 1, { param1: 'num', param2: 'unit', param3: 'compare' })
初始化参数
即构造方法 standardChart.helper.DynamicSankeyHelper: 默认集成辅助函数handleLinks、handleFormatter(注意:handlePcFormatter函数未集成)、handleTooltip、handleNodeLengthPercent
| 参数配置 | 类型 | 默认值 | 描述 | 备注 |
|---|---|---|---|---|
| chart | StandardChart | 无 | 动态桑基图的实例对象 | |
| option | Option | 桑基图的配置项 | ||
| data | {data: Array<Array<customObject>>; link: Array<Array<customObject>>; info: Array<customObject>; handleLinksStatus: Boolean; handleFormatterStatus: Boolean; handleTooltipStatus: Boolean; handleNodeLengthPercentStatus: Boolean;} | 桑基图的数据 | 用于动态所需的多周期数据,若需自定义辅助函数handleLinks、handleFormatter、handleTooltip、handleNodeLengthPercent,可通过handleLinksStatus、handleFormatterStatus、handleTooltipStatus、handleNodeLengthPercentStatus控制覆盖状态 |
播放参数
即播放方法 play:
| 入参 | 类型 | 默认值 | 描述 | 备注 |
|---|---|---|---|---|
| date | number | 全周期中最后一期的索引值 | 当前播放期在多周期数据中的索引 | |
| opts | object | { param1: 'num', param2: 'unit', param3: 'compare' } | 自定义节点label展示字段的属性 | 例: 页面中增加同比开关,用以控制同比字段的显隐 |
多周期情况下单周期最大宽度比例尺处理
standardChart之后调用
即构造方法 standardChart.helper.handleNodeLengthPercent:
示例调用:
const nodeLengthPercentArray = standardChart.helper.handleNodeLengthPercent(sourceData, {
min: 0.33,
max: 0.66,
type: 'linear'
});
option.series[0].dvNodeLengthPercent = nodeLengthPercentArray[index];
| 入参 | 类型 | 默认值 | 描述 | 备注 |
|---|---|---|---|---|
| data | Array<Array<customObject>> | 多周期节点数据 | ||
| opts | object | { min: 0.33, max: 0.66, type: 'linear' } | 以容器宽度为基准,设定最大宽度占比和最小宽度占比。同时设置比例尺的类型 |
注:该辅助函数已在DynamicSankeyHelper中调用,在不改变默认参数情况下,无须调用。