library force examples ejemplos directed d3js javascript svg d3.js label force-layout

javascript - force - d3js charts examples



AƱada una etiqueta de texto al nodo d3 en Force directed Graph y resize en hover (1)

Está agregando un elemento de texto dentro de un círculo, eso no funcionará. Puede agregar grupos debajo del elemento svg y luego agregar el círculo y un texto en cada grupo:

// Create the groups under svg var gnodes = svg.selectAll(''g.gnode'') .data(graph.nodes) .enter() .append(''g'') .classed(''gnode'', true); // Add one circle in each group var node = gnodes.append("circle") .attr("class", "node") .attr("r", 5) .style("fill", function(d) { return color(d.group); }) .call(force.drag); // Append the labels to each group var labels = gnodes.append("text") .text(function(d) { return d.name; }); force.on("tick", function() { // Update the links link.attr("x1", function(d) { return d.source.x; }) .attr("y1", function(d) { return d.source.y; }) .attr("x2", function(d) { return d.target.x; }) .attr("y2", function(d) { return d.target.y; }); // Translate the groups gnodes.attr("transform", function(d) { return ''translate('' + [d.x, d.y] + '')''; }); });

Un tenedor de tu violín con esta estrategia está here

Estoy tratando de agregar etiquetas de texto a los nodos en d3 Force Directed Graph, parece que hay un problema. Este es mi Fiddle :

Cuando agrego el nombre del nodo de esta manera:

node.append("text") .attr("class", "word") .attr("dy", ".35em") .text(function(d) { console.log(d.name); return d.name; });

No hay cambios, pero los nombres se están registrando.

Cuando traté de usar el cuadro delimitador , aparecieron las etiquetas de nodo pero los nodos están apilados en la esquina superior izquierda de la caja mientras que los enlaces de nodo están bien. Este fiddle es el resultado de ese esfuerzo que puse. ¿Alguien puede decirme qué soy? estoy haciendo mal?