Tortendiagramm Legende statt
Verfasst: Mo 17. Feb 2020, 23:56
Ich habe über http://www.texample.net/ ein Template für ein Tortendiagramm gefunden und schon weitestgehend nach meinen Wünschen angepasst:
Nun möchte ich statt den Pins (Striche mit "a", "b",..."e") eine Legende.
Also ein kleines farbiges Quadrat seitlich vom Diagramm mit der jeweiligen Beschriftung.
Wenn ich Zeile 32 auskommentiere verschwinden schonmal die Pins. Nur weiß ich jetzt nicht wie ich stattdessen eine Legende erstelle.
Optional würde ich mich auch noch über eine schwarze Kontur des Diagramms freuen.
Vielen Dank!
\documentclass[tikz,border=10pt]{standalone} %%%< \usepackage{verbatim} %%%> \begin{document} \def\angle{0} \def\radius{3} \def\cyclelist{{"orange","blue","red","green","cyan"}} \newcount\cyclecount \cyclecount=-1 \newcount\ind \ind=-1 \begin{tikzpicture}[nodes = {font=\sffamily}] \foreach \percent/\name in { 20/a, 15/b, 25/c, 20/d, 20/e } { \ifx\percent\empty\else % If \percent is empty, do nothing \global\advance\cyclecount by 1 % Advance cyclecount \global\advance\ind by 1 % Advance list index \ifnum4<\cyclecount % If cyclecount is larger than list \global\cyclecount=0 % reset cyclecount and \global\ind=0 % reset list index \fi \pgfmathparse{\cyclelist[\the\ind]} % Get color from cycle list \edef\color{\pgfmathresult} % and store as \color % Draw angle and set labels \draw[fill={\color!50},draw={\color}] (0,0) -- (\angle:\radius) arc (\angle:\angle+\percent*3.6:\radius) -- cycle; \node at (\angle+0.5*\percent*3.6:0.7*\radius) {\percent\,\%}; \node[pin=\angle+0.5*\percent*3.6:\name] at (\angle+0.5*\percent*3.6:\radius) {}; \pgfmathparse{\angle+\percent*3.6} % Advance angle \xdef\angle{\pgfmathresult} % and store in \angle \fi }; \end{tikzpicture} \end{document}
Also ein kleines farbiges Quadrat seitlich vom Diagramm mit der jeweiligen Beschriftung.
Wenn ich Zeile 32 auskommentiere verschwinden schonmal die Pins. Nur weiß ich jetzt nicht wie ich stattdessen eine Legende erstelle.
%\node[pin=\angle+0.5*\percent*3.6:\name]
Vielen Dank!