0

我有一个时间线,其中有 3 个子组 1、2 和 3。在子组 2 中,我有 2 个项目,名为“B”和“BB”。我使用自定义子组排序创建了时间线。在输出中,我得到 BB 在顶部,然后是 BB 下面的项目 A 和 C,最后是 B,即使 BB 和 B 共享相同的子组 2。我想要的是,A 位于顶部,然后B 和 BB 在 A 下方聚集在一起,最后是 C。基本上,我希望子组总是看起来像一个集群,并在时间轴上在一起。

链接到非工作示例 -演示

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);

任何帮助将不胜感激。

4

1 回答 1

0

您应该subgroupStack:true向组添加选项,x它将将其子组堆叠在每个组的顶部。你可以在这里找到一个工作演示。

于 2019-02-21T04:21:24.947 回答