cytoscape.js冗余边缘

时间:2017-12-04 13:54:32

标签: javascript cytoscape.js

如果图形具有冗余边/弧,则

cytoscape.js无法渲染图形。为什么会这样?

示例:

https://jsfiddle.net/smiccke/mq5t1rw9/4/

yourGridviewOrListview1.ItemsSource = null;
yourGridviewOrListview1.ItemsSource = SingletonClass.YourObList;

如果从末端移除两个冗余边缘(j-> e,j-> e),该图表将起作用。

似乎有一个冗余边缘可以,但两个或更多是一个问题。任何线索为什么会这样?

作为解决方法,从图表中删除冗余边缘的任何好的快捷方式?

2 个答案:

答案 0 :(得分:2)

所有边缘都在那里。您已将所有平行边缘重叠在一起,因为这是指定边缘样式的方式。

为您要渲染的图表类型使用适当的样式。例如,多图应该使用具有非零干草堆半径或捆绑贝塞尔曲线边缘的干草堆边缘。

请参阅文档中的curve-style等:http://js.cytoscape.org/#style/edge-line

答案 1 :(得分:0)

  

编辑:你提到cytoscape.js无法呈现图形,但是it renders fine for me。你真的没有看到任何图表吗?如果是这样,您使用的是哪种浏览器,并且检查过代码是否存在错误?

节点之间的多个边缘默认沿着与maxkfranz所说的相同的路径。您可以设置显示所有边缘的'curve-style': 'bezier',或使用'haystack-radius': 1保持直线(使用介于0和1之间的值)。

我也注意到你已开启指示箭头。这些不适用于默认的'haystack'曲线样式,因此如果您想要显示有向边,我建议您使用'bezier'