Cytoscapejs:类似Sankey的边缘大小

时间:2016-07-25 07:53:08

标签: javascript css cytoscape.js sankey-diagram

有没有办法在cytoscape.js中像边缘宽度图一样创建Sankey?为了清楚起见,我不想在cytoscape.js中创建一个Sankey图。我想要的是创建边缘,这些边缘总共具有它们所源自的节点的大小。

修改边缘宽度的一种方法是通过strength属性,但是我没有找到一种方法来指定与起始节点大小相关的属性。

提前致谢

安迪

1 个答案:

答案 0 :(得分:1)

您可以使用数据映射器,只需在init:

为每个元素设置data.width
var cy = cytoscape({
  container: $('.cytoscape-container').get(0),
  ...,
  style: {
    {
      selector: 'edge',
      style: { 
        'width': 'data(size)'
      }
    }

    {
      selector: 'node',
      style: { 
        'width': 'data(size)',
        'height': 'data(size)'
      }
    }
  }
});

或者您可以使用类:

var cy = cytoscape({
  container: $('.cytoscape-container').get(0),
  ...,
  style: {
    {
      selector: 'edge.foo',
      style: { 
        'width': 20
      }
    }

    {
      selector: 'node.foo',
      style: { 
        'width': 20,
        'height': 20
      }
    }
  }
});