2014-01-13 2 views
1

На самом деле я интегрировал разборную функцию внутри графа направленной силы. Но когда я попытался поместить метку на каждый узел, я получил неожиданный результат.d3.js force-collapsible с метками

Я сильфона код для добавления метки на узле:

node.enter().append("text") 
      .attr("class","node") 
      .attr("cx", function(d) { return d.x; }) 
      .attr("cy", function(d) { return d.y; }) 
      .on("click",click) 
      .text(function(d){return d.name}) 
      .call(force.drag); 

И ниже кода я написал внутри функции клеща:

node.attr("transform", function(d) { 
    return "translate(" + d.x + "," + d.y + ")"; 
}); 

Что я могу делать неправильно?

+1

Является ли это то, что вы хотите - http://bl.ocks.org/mbostock/1093130? – user568109

+0

спасибо .. точно это то, что я ищу .. нужно добавить g, а затем круг и текст. – Jaydipsinh

ответ

1

мне нужно добавить в г тег, а затем обвести и текст:

var nodeEnter = node.enter().append("g") 
     .attr("class", "node") 
     .on("click", click) 
     .call(force.drag); 

    nodeEnter.append("circle") 
     .attr("r", function(d) { return Math.sqrt(d.size)/10 || 8.5; }); 

    nodeEnter.append("text") 
     .attr("dy", ".35em") 
     .text(function(d) { return d.name; }); 

    node.select("circle") 
     .style("fill", color); 
+0

Ссылка jsfiddle не работает. –