Cytoscape.js 将多条边合并为一条(较粗的)边

Cytoscape.js combine multiple edges into one (thicker) edge

我正在使用 cytoscape.js 3.19.1,但我不知道如何将多条边合并为一条边,并增加那条边的权重。

Current view

我现在正在寻找一种解决方案,其中 2 条边合并为一条宽度为 2、3 条边合并为一条宽度为 3 等。

我正在使用此代码更改节点的颜色:

style: [
        {
            selector: 'node',
            css: {
                'content': 'data(name)',
                'text-outline-color': 'red',
            },
            style: {
                'background-color': 'data(color)',
                'label': 'data(name)',
                'color': "white",
            }
        },
        {
            selector: 'edge',
            css: {
                'curve-style': 'bezier',
                'target-arrow-shape': 'triangle'
            }
        }
    ],

这个 cytoscape 输入有效:{'nodes': [{'data': {'id': '1464848862', 'name': 'my_name', 'color': '#FFA00F'}}....

我现在可以对线宽做同样的事情,但我宁愿不必通过数据 'manually' 来弄清楚哪两个节点连接,发生的频率,定义线的粗细必须是,然后删除所有不再需要绘制的重复项。

还有其他方法吗?

非常感谢您的任何建议!

实际上,您可以在边缘使用一些不同的样式来实现这一点。 “haystack”或“straight”可能会有用。检查它们 https://js.cytoscape.org/demos/edge-types/

或者您可以使用 https://github.com/iVis-at-Bilkent/cytoscape.js-expand-collapse

检查其 demo 并折叠边缘。