2013-04-06 6 views
5

Wie zeige ich Knoten als unterschiedliche Symbole in der force-directed Bibliothek von d3.js an? Ich wollte etwas ähnliches wie das umzusetzen, was ich unten schrieb:Verschiedene Knotensymbole für d3.js force-directed graph

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); 

Jeder Knoten würde eine codierte Form („rect“, „Kreis“, etc.). Allerdings erhalte ich die Fehlermeldung:

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

Die andere Frage, die ich, dass im Zusammenhang habe, ist dies: wie würde ich zwischen Anwendung verschiedene Attribute für jede Form wechseln? Kreise benötigen ein "r" -Attribut, das verfeinert werden muss, aber die rects benötigen "Höhe" und "Breite". Vielen Dank!

Antwort