循环节点与细胞景观.js



我目前正在尝试使用细胞景观对图形进行循环.js问题是我不太明白该怎么做,因为有一些重复节点。

我有这样的数据:

Sheraton Cherry, Rosaceae, Dentate, Pinnate
Pineapple Guava, Myrtaceae, Entire, Pinnate
Chinese Sumac, Rosaceae, Entire, Pinnate

正如你所看到的,一些数据正在重复。

到目前为止,这就是我得到的:

  elements: {
nodes: [
  { data: { id: 'a', name: 'Sheraton Cherry' } },
  { data:  { id: 'a1', name: 'Rosacea'}},
  { data: { id: 'a2', name: 'Dentate' } },
  { data: { id: 'a3', name: 'Pinnate' } },
  { data: { id: 'b', name: 'Pineapple Guava' } },
  { data:  { id: 'b1', name: 'Myrtaceae'}},
  { data: { id: 'b2', name: 'Entire' } },
  { data: { id: 'a3', name: 'Pinnate' } }
],
edges: [
  { data: { source: 'a1', target: 'a' }},
  { data: { source: 'a2', target: 'a' }},
  { data: { source: 'a3', target: 'a' }},
  { data: { source: 'b1', target: 'b'}},
  { data: { source: 'b2', target: 'b'}},
  { data: { source: 'a3', target: 'b'}}
]

},

手动输入了它,其中图形完美地出现,但由于这只是一些数据,我还有 10 个数据,我应该循环节点和边缘。

但是我该怎么做呢?

发现类似这样的东西:

var demoNodes = [];
var demoEdges = [];
demoNodes.push({
    data: {
        id: b[0],
        name:b[0]
    }
});
for (var i = 0; i < a.length; i++) {
    demoNodes.push({
        data: {
            id: a[i],
            name:a[i]
        }
    });
}
for (var i = 0; i < a.length; i++) {
    demoEdges.push({
        data: {
            source: b[0],
            target: a[i]
        }
    })
}

但它仍然不起作用。

解析输入数据并将其转换为元素 JSON 格式。

如果数据仅以逗号分隔,请在输入字符串上使用.split().trim()。 请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

Cytoscape 不允许具有重复 ID 的元素,但原则上如果您在解析时(或使用解析后的另一遍)不允许重复,那会更好。

最新更新