Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 突出显示Cytoscape JS中的多条边_Javascript_Cytoscape.js - Fatal编程技术网

Javascript 突出显示Cytoscape JS中的多条边

Javascript 突出显示Cytoscape JS中的多条边,javascript,cytoscape.js,Javascript,Cytoscape.js,我有这样一个无向图: var cy = cytoscape({ container: document.getElementById('cy'), elements: [ // nodes { data: { id: 'a' } }, { data: { id: 'b' } }, { data: { id: 'c' } }, { dat

我有这样一个无向图:

 var cy = cytoscape({
          container: document.getElementById('cy'),
          elements: [
            // nodes
            { data: { id: 'a' } },
            { data: { id: 'b' } },
            { data: { id: 'c' } },
            { data: { id: 'd' } },

            // edges
            {
              data: {
                id: 'ab',
                source: 'a',
                target: 'b'
              }
            },
            {
              data: {
                id: 'bc',
                source: 'b',
                target: 'c'
              }
            },
            {
              data: {
                id: 'cd',
                source: 'c',
                target: 'd'
              }
            }
          ],
          style: [
            {
              selector: 'node',
              style: {
                shape: 'hexagon',
                'background-color': 'red',
                label: 'data(id)'
              }
            }],
          layout: {
            name: 'grid'
          }
        });

如您所见,您可以使用
c
d
a
转到
d
。我试图实现的是,如果边缘
ab
高亮显示,那么边缘
bc
cd
也将高亮显示。有办法做到这一点吗?我在网上找不到这方面的任何来源。。。谢谢。

看看包含的算法,如或。从它们的输出中,您应该能够为相关边生成高亮显示


我不太明白你的意思。是否要高亮显示零部件中的所有边?在附近?还有别的吗?@maxkfranz我想突出显示一条路径。我实际上是在传递到节点的路径。@maxkfranz我的意思是,如果你可以从
a
d
并且知道路径,我想高亮显示该路径上的所有节点和边。我在确定路径方面没有问题,我无法高亮显示所选路径。我添加了一个示例
var dijkstra = cy.elements().dijkstra('#an_id')
var path = dijkstra.pathTo( cy.elements('node#another_id'))

path.forEach(function(ele){
  if (ele.isEdge()){
    ele.addClass("class_that_has_highlight_styling")
  }
})