Frage zu Kreisdiagrammen im Wiki-Artikel „Balken-_und_Kreisdiagramme“
bearbeitet von
Moin Matthias,
> > > > 1. Wenn ich das richtig sehe, muss ich die Koordinaten für den Kreisbogen/die weiteren Tortenstücke aus den Anteilen (prozentual zur Basis 360° bzw. 2π) berechnen.
>
> Ja, genau! Und da war für mich die Frage,
>
> 1. wie ich den Bogen berechne (meine Idee Umfang des Kreises berechnen, dort dann den Prozentwert des Anteils dazu und dann den Endpunkt des Bogens draufsetzen.
> 2. ob ich alle Kreissegmente oben zeichne und dann entsprechend der bisherigen Anteile rotiere
Also nach meiner kurzen Feierabend-Spielerei (und -Geometrie) ist es gar nicht so kompliziert:
* Koordinatenursprung in der Mitte des umrandenden `circle` definieren (entsprechende `viewBox` mit negativen _x_- und _y_-Koordinaten nötig).
* Tortenstück als Pfad vom Ursprung ausgehend nach oben und dann den Kreisbogen entsprechend des Winkels entlang; Pfad schließen.
* Tortenstücke entsprechend des summierten Winkels der Vorgänger rotieren.
Das habe ich in <https://www.robertbienert.de/self/torte.html> einmal ausprobiert es macht fürs Erste einen guten Eindruck. Mit einer Beispieleingabe wie
~~~
#39f .5
#93f .3
#f39 .25
#f93 1
#3f9 .4
#9f3 .5
~~~
kann man auch gleich einmal hübsche Farbpaletten ausprobieren.
Neben dem [Hinweis von @Rolf B mit dem _large-arc sweep_](https://forum.selfhtml.org/m1811674) für Winkel > 180° habe ich auch eine Sonderbehandlung für Winkel = 180° enthalten, weil das ein einfacher Halbkreis ist, für den ich kein Dreieck der rechten Ecke berechnen könnte.
Ich denke, dass wir darauf aufbauen können 😀
Knifflig wird es noch beim Beschriften der Tortenstücke, weil die Beschriftung ja nicht mit-rotiert werden sollte.
Viele Grüße
Robert
Frage zu Kreisdiagrammen im Wiki-Artikel „Balken-_und_Kreisdiagramme“
bearbeitet von
Moin Matthias,
> > > > 1. Wenn ich das richtig sehe, muss ich die Koordinaten für den Kreisbogen/die weiteren Tortenstücke aus den Anteilen (prozentual zur Basis 360° bzw. 2π) berechnen.
>
> Ja, genau! Und da war für mich die Frage,
>
> 1. wie ich den Bogen berechne (meine Idee Umfang des Kreises berechnen, dort dann den Prozentwert des Anteils dazu und dann den Endpunkt des Bogens draufsetzen.
> 2. ob ich alle Kreissegmente oben zeichne und dann entsprechend der bisherigen Anteile rotiere
Also nach meiner kurzen Feierabend-Spielerei (und -Geometrie) ist es gar nicht so kompliziert:
* Koordinatenursprung in der Mitte des umrandenden `circle` definieren (entsprechende `viewBox` mit negativen _x_- und _y_-Koordinaten nötig).
* Tortenstück als Pfad vom Ursprung ausgehend nach oben und dann den Kreisbogen entsprechend des Winkels entlang; Pfad schließen.
* Tortenstücke entsprechend des summierten Winkels der Vorgänger rotieren.
Das habe ich in <https://www.robertbienert.de/self/torte.html> einmal ausprobiert es macht fürs Erste einen guten Eindruck. Mit einer Beispieleingabe wie
~~~
#39f .5
#93f .3
#f39 .25
#f93 1
#3f9 .4
#9f3 .5
~~~
kann man auch gleich einmal hübsche Farbpaletten ausprobieren.
Neben dem [Hinweis von @Rolf B mit dem _large-arc sweep_](https://forum.selfhtml.org/m1811674) für Winkel > 180° habe ich auch eine Sonderbehandlung für Winkel = 180° enthalten, weil das ein einfacher Halbkreis ist, für den ich kein Dreieck der rechten Ecke berechnen könnte.
Ich denke, dass wir darauf aufbauen können 😀
Viele Grüße
Robert