繁体   English   中英

Cytoscape.js-圆形布局

[英]Cytoscape.js - Circle layout

我正在尝试使用Cytoscape.js制作此http://gcuculi.com/cda/imagens/grafico.png 我正在使用圆形布局,但无法正常工作。 我将动态添加更多项目。 第一个节点总是比第二个节点更近,以此类推。

这是代码:

$(function(){ 
  var cy = cytoscape({
  container: document.getElementById('grafico-constelacao'),

  style: cytoscape.stylesheet()
   .selector('node')
     .css({
       'content': 'data(name)',
       'text-valign' : 'center',
       'color' : 'white',
      })
   .selector('edge')
     .css({
       'width': 2,
       'line-color': '#000'
     })
    .selector('#p')
      .css({
        'background-color': '#fff',
        'width': '60px',
        'height': '60px',
        'border-width': '2px',
        'border-style': 'solid',
        'border-color ': '#888',
      }),

  elements: {

    nodes: [
      {
        data: {id: 'p', weight: 1 },
        group: 'nodes',
        position: {
          x: 500,
          y: 150
        },
        classes: 'principal',
        selected: false,
        selectable: false,
        locked: true,
        grabbable: false
      },
      { data: { id: 'atr1', name : 'A'} },
      { data: { id: 'atr2', name : 'B' } },
      { data: { id: 'atr3', name : 'C' } },
      { data: { id: 'atr4', name : 'D' } },
      { data: { id: 'atr5', name : 'E' } }   
    ], 

    edges: [
      { data: { id: 'p-atr1', weight: 1, source: 'p', target: 'atr1' } },
      { data: { id: 'p-atr2', weight: 10, source: 'p', target: 'atr2' } },
      { data: { id: 'p-atr3', weight: 50, source: 'p', target: 'atr3' } },
      { data: { id: 'p-atr4', weight: 100, source: 'p', target: 'atr4' } },
      { data: { id: 'p-atr5', weight: 250, source: 'p', target: 'atr5' } }
    ]
  },

  layout: {
    name: 'circle',

    fit: true,
    padding: 30, 
    boundingBox: undefined,
    avoidOverlap: true,
    radius: undefined,
    startAngle: 10 * Math.PI,
    counterclockwise: true,
    sort: undefined,
    animate: false,
    animationDuration: 500,
    ready: undefined,
    stop: undefined
  },


  // interaction options:
  zoomingEnabled: false,
  userZoomingEnabled: false,
  panningEnabled: false,
  userPanningEnabled: false,
  boxSelectionEnabled: false,
  selectionType: 'single',
  touchTapThreshold: 8,
  desktopTapThreshold: 4,
  autolock: false,
  autoungrabify: false,
  autounselectify: false,
});
});

有一种方法可以控制强制值的边的大小?

仅在外部节点上运行圆形布局,指定所需的半径,并以中心节点为中心确定边界框。 在初始化之后,可以在其他节点上运行所需的任何布局,因此您具有初始位置,可将辅助布局作为基础。

http://js.cytoscape.org/#collection/layout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM