本文介绍了D3.js,force-graph,不能显示节点的文本/标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不能在d3.js中使用强制布局显示节点的标签。
I cannot display labels of nodes using a force-layout in d3.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 + ")";
});
}
为什么不显示标签?
推荐答案
您需要单独添加文本:
node.append("text")
.attr("dx", ".10em")
.attr("dy", ".10em")
.text(function(d) { return d.name; });
请参阅以下示例:
这篇关于D3.js,force-graph,不能显示节点的文本/标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!