2012-09-19 29 views
6

Me gustaría agregar un comportamiento a un diseño de gráfico de fuerza dirigida en D3 de tal manera que una vez caído, un nodo svg arrastrado y tirado se queda en su lugar, sin cambiar la posición no importa qué más sucede en el gráfico. He leído algo sobre esta API, pero no puedo encontrar la manera de hacer que funcione.gráfico de fuerza d3: nodos adhesivos

El problema que trato de resolver es permitirle al usuario "separar" un gráfico de fuerza complejo.

Respuesta

11

Establezca la propiedad fixed del nodo en true en el mousedown.

node.on("mousedown", function(d) { d.fixed = true; }); 

Por ejemplo: http://bl.ocks.org/3750558

+0

perfecto, que lo hizo. ¡Muchas gracias! –

+0

En el ejemplo, una vez que se hizo clic y se arrastró en un nodo, permaneció permanentemente resaltado y adhesivo. ¿Es posible hacer clic de nuevo para liberarlo de su "pegajosidad"? – ericmjl

+0

Claro, podría establecer 'd.fixed = false' en dblclick, por ejemplo. – mbostock

Cuestiones relacionadas