6

如何在 d3.js 的力导向库中将节点显示为不同的符号?我想实现类似于我在下面写的东西:

  var node = svg.selectAll(".node") 
      .data(graph.nodes) 
    .enter().append(function(d){return d.shape;}) 
      .attr("class", "node") 
      .attr("r", 5) 
      .style("fill", function(d) { return color(d.group); }) 
      .call(force.drag); 

每个节点都有一个编码的形状(“矩形”、“圆形”等)。但是,我收到错误:

Uncaught TypeError: Object function (d){return "circle";} has no method 'indexOf' 

我与之相关的另一个问题是:如何在为每个形状应用不同属性之间切换?圆形需要细化“r”属性,但矩形需要“高度”和“宽度”。谢谢!

4

1 回答 1

5

使用d3.svg.symbol,如强制导向符号示例中所示。

于 2013-04-06T22:44:43.350 回答