Kreissegment-Reihenfolge in D3

8

Ich habe ein Donut-Diagramm mit d3 mit einem jQuery-Schieberegler, der es einem Benutzer ermöglicht, zwischen verschiedenen Datenpunkten zu wählen. Das Diagramm animiert den Übergang zwischen Datenwerten und alles ist gut.

Das Problem: Die Segmente werden immer in der Reihenfolge entgegen dem Uhrzeigersinn gerendert (von der größten zur kleinsten). Dies bedeutet, dass Segmente ihre Position abhängig von ihrer Größe um das Diagramm herum verschieben.

Dieses Verhalten ist für Benutzer verwirrend, aber leider kann ich nicht herausfinden, wie ich es ändern kann. Ich möchte, dass die Segmente in ihrer ursprünglichen Position bleiben.

Arbeiten js-fiddle: Ссылка

Ich glaube, das Problem muss in der Funktion liegen, die das eigentliche Tweening ausführt:

%Vor%     
Kerplunk 18.06.2013, 12:59
quelle

1 Antwort

21

d3 sortiert automatisch nach Wert für Kreisdiagramme. Glücklicherweise ist das Deaktivieren der Sortierung sehr einfach. Verwenden Sie einfach die sort(null) -Methode für die donut -Funktion, also:

%Vor%

Hier ist eine Geige .

    
ckersch 18.06.2013, 14:07
quelle