Michael: SVG Kreisbogen

Hallo,

ich habe ein SVG-Problem. Ich möchte gern einen Kreisdiagramm darstellen, das dynamisch in n Kreissektoren gliederbar ist. Dazu habe ich einen "PATH" berechnet, der letzten endes ein Dreieck wiedergibt. Jetzt fehlt mir nur noch der Bogen. Dazu habe ich versucht, eine Bézier-Kurve zu berechnen. Leider funkioniert das nicht so recht, besonders wenn Kreisbögen mehr als die Hälfte der Kreisfläche einnehmen.

Gibt es vielleicht noch eine andere Möglichkeit dies zu realisieren?
Hat jeman vielleicht ein Beispiel?

Vielen Dank,

Michael

  1. Hallo,

    Gibt es vielleicht noch eine andere Möglichkeit dies zu realisieren?

    Das path-Element kenn den elliptischen Bogen, der mit den Kommandos A/a eingeleitet wird. Man muss nur aufpassen, dass man die Flags (large-arc-flag und sweep-flag) richtig setzt, um die gewuenschte Richtung der "Ausstuelpung" des Bogens zu erhalten, siehe Illustration unter: http://www.w3.org/TR/SVG11/paths.html#PathDataEllipticalArcCommands.

    Hat jeman vielleicht ein Beispiel?

    http://svglbc.datenverdrahten.de/?code=piechart&znr=on
    http://www.datenverdrahten.de/svglbc/?code=piechart_movearc&znr=on

    Unter http://www.datenverdrahten.de/svgphp/ gibt es ein PHP-Modul fuer Balken- und Kreisdiagramme. Bei den Kreissegmenten wird im Code nach Winkeln <= 180 Grad bzw. > 180 Grad unterschieden.

    MfG, Thomas

    1. Hallo Thomas,

      hab vielen Dank für Deine Hilfe. Es funktioniert. Hat allerdings erst ein bissl gedauert, bis ich alles ferig habe. Dein PHP-Script hat mir dabei sehr geholfen.

      Danke nochmals,
      Micha