2014-04-24 9 views
7

In D3 ist es möglich, Gruppen zu überführen?D3, Übergangsgruppen (<g>)

Mit Platz oder Kreisen funktioniert es so:

mySquare 
    .transition() 
    .attr("x",320); 

aber wenn MySquare zum Beispiel ist ein Verweis auf eine Gruppe („< g>“) funktioniert es nicht, vielleicht weil D3 für ein schaut x Eigenschaft der Gruppe, die ich nicht abrufen konnte.

Können Sie mir helfen? Ich konnte keine Dokumente zu diesem Thema finden.

Antwort

10

Da das x Attribut für ein Svg g Element nicht gültig ist, wird der Übergang nicht wie vorgesehen funktionieren. Sie können jedoch das Attribut transform so verschieben, dass die Position einer Gruppe von Elementen oder Übergangsstile, die auf die untergeordneten Elemente übergehen, geändert werden.

d.h .:

myGroup.transition() 
    .attr("transform", "translate(320, 0)") 
    .style("fill", "red"); 
+0

Sehr klar und interessant, ich danke Ihnen sehr. Es ist merkwürdig, dass SVG keine gültige an x ​​Eigenschaft hat: Ich dachte Gruppen wären ActionScript MovieClips oder Sprites. – Steekatsee