I cannot display labels of nodes using a force-layout in d3.js.
I'm trying with this example http://d3js.org/d3.v3.min.js
I updated that code only adding zoom, like this:
var svg = d3.select("body").append("svg").attr("width", width).attr("height", height).append('svg:g').call(d3.behavior.zoom().on("zoom", redraw));
function redraw() {
console.log("here", d3.event.translate, d3.event.scale);
svg.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")");
node.attr("transform", function(d) {
return "translate(" + d.x + "," + d.y + ")";
});
}
Why are labels not displayed?
You need to separately add the text:
node.append("text")
.attr("dx", ".10em")
.attr("dy", ".10em")
.text(function(d) { return d.name; });
see these examples:
http://bl.ocks.org/mbostock/2706022
http://bl.ocks.org/mbostock/1153292
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With