我可以在cytoscape dagre布局中添加“化妆”边缘吗?

时间:2019-02-15 15:57:37

标签: cytoscape.js

我正在使用带有dagre布局的cytoscape生成我的图形,并且我想包括额外的边缘(在下面用红色表示)以有效地“注释”图形。但是,这不符合我的期望,因为dagre布局在生成图形时会考虑所有边缘。

我知道我可以使用“预设”布局来实现此功能,但是使用dagre布局有明显的好处,包括通过expand-collapse扩展程序提供适当的expand-collapse功能。

我还尝试在dagre布局中使用“ edgeWeight”选项,但没有任何效果。有人有什么建议吗?谢谢!

cytoscape question

1 个答案:

答案 0 :(得分:0)

我通过在渲染布局之前过滤掉边缘来解决了这个问题:

var processedElements = this.cy
  .elements()
  // Filter out edges we don't want contributing to the layout of
  // of the graph
  .filter(el => !el.hasClass("unbundled-bezier-1"))

var layout = processedElements.layout({
  name: "dagre",
  rankDir: "LR"
})

layout.run();