Könnte jemand erklären, wie Daten in diesem 3D-Kreisdiagramm gehandhabt werden?

8

Ich versuche zu verstehen, wie die Funktionen in Donut3D.js - & gt; Ссылка behandelt die eingefügten Daten:

Vor allem, wo wird die startAngle der Daten auf 0 Grad gesetzt? Ich möchte es auf 45º, dann auf 135º, 225º und 315º ändern (siehe Bild oben).

Ich habe diese Funktion gefunden:

%Vor%

und versuchte einen Bogen einzufügen wie:

%Vor%

aber es produziert nicht die gewünschten Effekte.

  

EDIT 1

Die erste Antwort half beim Drehen des inneren Kuchens, indem man:

änderte %Vor%

bis

%Vor%

Das Problem ist, dass jetzt der äußere Kuchen gebrochen wird - & gt; Zypern

Ich nehme an, die Lösung hat etwas mit der Funktionsfunktion pieOuter(d, rx, ry, h ) und den zwei startAngle und endAngle Variablen zu tun, aber sie funktionieren auf scheinbar unvorhersehbare Weise.

Danke

  

Ich weiß, dass Kreisdiagramme schlecht sind, besonders wenn sie in 3D sind; aber diese Arbeit   ist ein Teil meiner Diplomarbeit, wo mein Job tatsächlich zeigt, wie   PieCharts sind schlecht! Ich möchte dieses PieChart drehen, um zu zeigen, wie   Wenn der 3D-Kuchen Slice oben positioniert ist, werden die Daten weniger angezeigt   wichtig, oder wichtiger, wenn sie unten positioniert sind. Also ein 'Übel   Journalist 'könnte die visuelle Wahrnehmung von Daten einfach ändern   neigend und rotierend das PieChart!

    
Cris Cole 08.02.2016, 13:44
quelle

2 Antworten

3

Hier ist eine korrigierte Funktion, die Rotation erlaubt.

Ändern Sie zuerst die Funktionssignatur, um die Variable rotate einzuschließen:

%Vor%

Ändern Sie in der Funktion draw die Winkel. Anstatt mit pie winkels zu verschrauben, würde ich es direkt mit den Daten machen:

%Vor%

Dann müssen Sie die Funktion pieOuter korrigieren, um die Zeichenartefakte zu korrigieren:

%Vor%

Hier ist der vollständige Code

    
Mark 08.02.2016, 18:18
quelle
2

Ändern des Standardstartwinkels

Donut3D Benutzer d3 die Kuchen Layout-Funktion hier , die eine Standard startAngle 0 .

Wenn Sie den Startwinkel ändern möchten, sollten Sie donut3d.js.

ändern

An erster Stelle sollten Sie sicher vermeiden, 3D-Kuchen / Doughnut-Diagramme zu verwenden, wenn Sie Wert auf Benutzerfreundlichkeit und Lesbarkeit Ihrer Visualisierungen legen - erklärt hier .

Layout der unteren Ecke korrigieren

Die endAngle , die Sie verwenden, ist nicht korrekt, wodurch die "hellblaue" Scheibe die "blaue" Scheibe überlappt. Sollte 405 (d. H. 45 + 360) anstelle von 415 sein.

%Vor%

Dann sollte die "pieOuter" -Winkelberechnung aktualisiert werden, damit sie sich korrekt verhält. Der Bogen, der nicht funktioniert, ist der mit endAngle > 2 * PI , und die Winkelberechnung sollte dafür aktualisiert werden.

Das macht den Trick (frag mich nicht warum):

%Vor%

demo: Ссылка

    
Mehdi El Fadil 08.02.2016 14:30
quelle

Tags und Links