使用dagre布局调整cytoscape.js中的形状大小

时间:2016-02-04 23:02:34

标签: javascript layout graph cytoscape.js dagre

我正在尝试将节点的形状调整为节点文本的大小。我按照https://github.com/cytoscape/cytoscape.js/issues/649的说明进行操作。但是:

  1. 形状总是以高度=宽度
  2. 结束
  3. 所有形状的大小都相同。
  4. 形状大小似乎达到了无法生长的最大值。
  5. (我不确定这是否与dagre布局有关。)

    我使用以下带有dagre布局的库:

    • cytoscape.min.js
    • dagre.min.js
    • cytoscape-dagre.js

      container: document.getElementById('cy'),
      boxSelectionEnabled: false, autounselectify: true,
      
      layout: {name: 'dagre', rankDir: 'LR', align: 'LR'},
      
      style: [{
          selector: 'node',
          style: {
              'content': 'data(name)',
              'label': 'data(name)',
              'text-opacity': 1,
              'text-valign': 'center',
              'text-halign': 'center',
              'text-wrap': 'wrap',
              'font-size': 9,
              'background-color': '#AAA',
              'shape':'rectangle',
              'width': 'data(width)' * 50,
              'height': 'data(height)' * 50 }
      },{
          selector: 'edge',
          style: {
              'width': 4,
              'content': 'data(name)',
              'target-arrow-shape': 'triangle',
              'line-color': 'data(color)',
              'text-wrap': 'wrap',
              'target-arrow-color': 'data(color)',
              'font-size': 10,
          }
      }]
      

1 个答案:

答案 0 :(得分:0)

您已指定无效的样式。 "somestring" * 50NaN

您需要width: label,如文档中所示:http://js.cytoscape.org/#style/node-body