Ich habe eine cytoscape.js Grafik, die rendert. Ich bin daran interessiert, das voreingestellte Layout für die Platzierung der Knoten zu nutzen. Die cytoscape.js Dokumentation zeigt die folgende für das voreingestellte Layout:Cytoscape.js Preset Layout Dokumentation
var options = {
name: 'preset',
positions: undefined, // map of (node id) => (position obj); or function(node){ return somPos; }
zoom: undefined, // the zoom level to set (prob want fit = false if set)
pan: undefined, // the pan level to set (prob want fit = false if set)
fit: true, // whether to fit to viewport
padding: 30, // padding on fit
animate: false, // whether to transition the node positions
animationDuration: 500, // duration of animation in ms if enabled
animationEasing: undefined, // easing of animation if enabled
ready: undefined, // callback on layoutready
stop: undefined // callback on layoutstop
};
Kann jemand mir helfen, ein Beispiel zu verstehen oder geben, was die Dokumentation bedeutet, wenn es sagt die folgenden
// map of (node id) => (position obj); or function(node){ return somPos; }
Ich speichere alle die Knoten in einer MySQL-Datenbank-Tabelle mit den folgenden Spalten
id, origin, destination, x position, y position
Hat die cytoscape.js Positionen ein dicti nehmen onary das sieht so aus:
{'id': 1, {'x':10, 'y':45}}, {'id': 2, {'x':21, 'y':32}}
etc?
Vielen Dank für die Antwort durch die ursprüngliche Frage ist mehr darüber, wie Sie die Positionen einstellen, als sie zu bekommen. – ForgottenKahz
Siehe die Bearbeitung. Ich hoffe dir helfen! – MFigueredo
Wenn Sie Positionen im Element JSON wie @ MFigueredos Beispiel definieren, dann müssen Sie nichts mehr tun, als 'layout: {name: 'preset'}' bei init anzugeben. Standardmäßig führt das Preset-Layout nichts aus und verwendet nur die bereits definierten Positionen. Die anderen Funktionen des Layouts sind, wenn Sie neue Positionen manuell angeben möchten, Animationen usw. verwenden. – maxkfranz