Ho nodi in un layout D3 diretto a forza impostato su. corretto = true. Se imposto i valori .x o .y, i nodi stessi non si spostano nella loro nuova posizione.Spostamento di nodi fissi in D3
Ecco la mia funzione:
function fixNode(idArray, locationX, locationY) {
for (x = 0; x < idArray.length; x++) {
for (y = 0; y < nodes.length; y++) {
if (nodes[y].id == idArray[x]) {
nodes[y].fixed = true;
nodes[y].x = 50;
nodes[y].y = 50;
break;
}
}
}
}
UPDATE 1:
Ecco la funzione di lavoro sulla base del parere di Jason:
function fixNode(idArray, locationX, locationY) {
for (x = 0; x < idArray.length; x++) {
for (y = 0; y < nodes.length; y++) {
if (nodes[y].id == idArray[x]) {
nodes[y].fixed = true;
nodes[y].x = 50;
nodes[y].y = 50;
nodes[y].px = 50;
nodes[y].py = 50;
break;
}
}
}
tick();
}
Grazie, ora ho capito. Ho appena testato il comportamento e ho voluto indicare qualcosa che potrebbe scoraggiare persone che provengono dagli esempi predefiniti: è necessario modificare i valori px/py e i valori x/y se il nodo è stato spostato. Pubblicherò la funzione aggiornata sopra. – Elijah