Timeline Vis - 使用子组排序强制子组 2 在子组 1 之后
Posted
技术标签:
【中文标题】Timeline Vis - 使用子组排序强制子组 2 在子组 1 之后【英文标题】:Timeline Vis - Force Subgroup 2 to come after Subgroup 1 using subgroup ordering 【发布时间】:2019-05-26 01:05:40 【问题描述】:我有一个时间线,其中有 3 个子组 1、2 和 3。在子组 2 中,我有 2 个项目,分别名为“B”和“BB”。我使用自定义子组排序创建了时间线。在输出中,我将 BB 置于顶部,然后将项目 A 和 C 置于 BB 之下,最后将 B 置于最后,即使 BB 和 B 共享相同的子组 2。 我想要的是,A 出现在顶部,然后 B 和 BB 在 A 下方聚集在一起,最后是 C。基本上,我希望子组总是看起来像一个集群,并在时间轴上在一起。
链接到非工作示例 - Demo
HTML
<body>
<div id="visualization"></div>
</body>
JS
function customSubgroupOrder(a, b)
return b.subgroup - a.subgroup;
var items = [
id: 1,
group: "X",
content: "A",
subgroup: 1,
start: "2016-01-01",
end: "2016-01-31"
,
id: 2,
group: "X",
content: "B",
subgroup: 2,
start: "2016-01-15",
end: "2016-02-29"
,
id: 4,
group: "X",
content: "BB",
subgroup: 2,
start: "2016-01-19",
end: "2016-02-21"
,
id: 3,
group: "X",
content: "C",
subgroup: 3,
start: "2016-02-15",
end: "2016-02-29"
];
var groups = [
id: "X",
content: "Custom Ordering<br>Top-to-Bottom",
subgroupOrder: customSubgroupOrder
];
var options =
stack: true
;
var el = document.getElementById('visualization');
var timeline = new vis.Timeline(el, items, groups, options);
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:您应该将subgroupStack:true
选项添加到x
组中,它会将其子组堆叠在每个组的顶部。你可以找到一个工作演示here。
【讨论】:
以上是关于Timeline Vis - 使用子组排序强制子组 2 在子组 1 之后的主要内容,如果未能解决你的问题,请参考以下文章