2013-03-30 132 views
8

我無法在d3.js中使用強制佈局來顯示節點的標籤。D3.js,強制圖,無法顯示節點的文本/標籤

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 + ")"; 
    }); 
} 

爲什麼不顯示標籤:

我用這個例子http://d3js.org/d3.v3.min.js

我更新的代碼只添加變焦,這樣的嘗試?

回答

3

您需要單獨添加文字:

node.append("text") 
    .attr("dx", ".10em") 
    .attr("dy", ".10em") 
    .text(function(d) { return d.name; }); 

看到這些例子:

http://bl.ocks.org/mbostock/2706022

http://bl.ocks.org/mbostock/1153292

+5

對於我的生活,我不能讓這些標籤出現。我從這裏的例子開始http://bl.ocks.org/mbostock/4600693,它已經做了工具提示,但沒有工作。是否有額外的步驟告訴d3文本屬性應該呈現? – Colin

+0

注意不要在圓圈內追加文字元素。如果您從http://bl.ocks.org/mbostock/2706022(帶標籤)和https://bl.ocks.org/mbostock/4062045(無標籤)複製粘貼,則幾乎沒有區別。 Text ** svg **和** circle ** svg附加到組** g **元素。 – user305883

相關問題