簡體   English   中英

使用cytoscape.js循環節點

[英]Looping nodes in with cytoscape.js

我目前正在嘗試使用cytoscape.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的元素,但如果您在解析時(或使用其他傳遞解析后)禁用重復項,原則上會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM