Ich benutze cytoscape.js für einen meiner Anwendungsfälle. Hier bevorzuge ich es, den Graphen nur mit Knoten am Anfang anzuzeigen, wie unten gezeigt.Wie setze ich Kanten mit JSON in cytoscape.js
var cy1 = cytoscape({
container: document.getElementById('cy'),
elements: {
nodes: countriesJSON
},
style: [
{
selector: 'node',
style: {
'background-color': '#666',
'label': 'data(id)'
}
},
{
selector: 'edge',
style: {
'width': 1,
'line-color': '#aaa',
}
}
]
});
cy1.layout({
name: 'circle'
});
nun in einer Funktion, werde ich die Kanten bilden, wie wie diese
function myfunc(){
...
...
allRoutes.map(function(d){
var inner={};
var obj = {}
inner["id"]="edge"+index
inner["source"]=data[0]
inner["target"]=data[1]
obj["data"]=inner
allLegsJSON[i]=obj;
i++;
})
...
...
cy1.elements({ edges: allLegsJSON });
}
Sobald Kanten erstellt werden, möchte ich Kanten wie oben an den Graphen zuzuweisen. Dieser Code funktioniert jedoch nicht. Kann mir jemand sagen, wie ich das mache? Ich möchte die Kanten zuweisen und dann das cy1-Diagramm aktualisieren.
Beachten Sie, dass JSON wörtliche Objekt nur ein JavaScript ist nicht wirklich. –