我有一个时间表,其中有3个子组1、2和3。在子组2中,我有2个项目分别为“ B”和“ BB”。我使用自定义子组排序创建了时间线。在输出中,即使BB和B共享同一子组2,我也将BB放在顶部,然后将项目A和C放在BB之下,最后是B。
我想要的是,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);
任何帮助将不胜感激。
最佳答案
您应该将subgroupStack:true
选项添加到组x
,它将其子组堆叠在每个子组的顶部。您可以找到一个有效的演示here。
关于javascript - 时间轴可见-使用子组顺序强制将子组2置于子组1之后,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53954575/