Legende beim Kreisdiagramm oberhalb platzieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Legende beim Kreisdiagramm oberhalb platzieren

von pauabaer » Do 28. Jul 2016, 22:33

Dank dir Bartman!

Auf deine Frage habe ich keine Antwort.. Wie soll ich den Status anpassen?

von Bartman » Do 28. Jul 2016, 02:22

pauabaer hat geschrieben:Wie kann ich die Legende mittig ausrichten?
Ersetze die flushleft-Umgebung durch eine center-Umgebung.

@Alle

Da die Beschriftung in deutscher Sprache stattfindet, wüßte ich gerne, wie die Dezimaltrennzeichen der Prozentzahlen zu einem Komma geändert werden können. Ich vermutete eine mögliche Lösung mit
\pgfkeys{/pgf/number format/.cd, use comma}
in der Präambel, was aber an der Darstellung nichts änderte.

von pauabaer » Mi 27. Jul 2016, 23:17

Besten Dank! :D

Letzte Rückfrage:
\documentclass{scrbook} 

\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{subcaption} 
\usepackage{tikz} 

\definecolor{Orange}{RGB}{247 150 70} 
\definecolor{Grun}{RGB}{155 187 89} 
\definecolor{Lila}{RGB}{115 38 218} 
\definecolor{HBlau}{RGB}{75 172 198} 
\definecolor{Pink}{RGB}{255 0 128} 
\definecolor{Rot}{RGB}{192 80 77} 
\definecolor{Blau}{RGB}{79 129 189} 
\definecolor{Lila}{RGB}{128 100 162} 

\newcommand*\firststartangle{0} 
\newcommand*\radius{3} 

\makeatletter 
\newcommand\@piechart[1]{% 
  \begin{tikzpicture} 
    \foreach [ 
      remember=\endangle as \startangle (initially \firststartangle), 
      evaluate={\endangle=\startangle+3.6*\percent}, 
      evaluate={\midangle=.5*(\startangle+\endangle)} 
    ] \percent/\name/\color in {#1}{ 
      \draw[fill={\color!80},draw={\color}] 
          (0,0) -- (\startangle:\radius) arc (\startangle:\endangle:\radius) -- cycle; 
      \node[pin=\midangle:\percent\,\%] at (\midangle:\radius) {}; 
    }; 
  \end{tikzpicture}% 
} 
\newcommand*\piechart[1]{\expandafter\@piechart\expandafter{#1}} 
\newcommand\@piechartlegend[1]{% 
  \tikzset{font=\small, anchor=north east}% <- hinzugefügt 
  \foreach \percent/\name/\color in {#1}{ 
    \begin{tikzpicture}[baseline] 
      \node[fill=\color,minimum size=1.5ex,anchor=west](color){}; 
      \node[anchor=west] at (color.east) {\strut\name}; 
    \end{tikzpicture} 
  }% 
} 
\newcommand*\piechartlegend[1]{\expandafter\@piechartlegend\expandafter{#1}} 
\makeatother 

\begin{document} 
\begin{center} 
  \begin{minipage}{\linewidth} 
    \captionsetup{type=figure} 
    \centering 
    \renewcommand*\radius{2} 
    \newcommand\firstpiechartlist{ 
        77.33/Transporte/Blau, 
        3.17/Betonage/Rot,
        19.50/Brachzeiten/Grun,
        0.00/Sonderfälle/Lila%
    } 
    \newcommand\secondpiechartlist{ 
      55.24/Transporte/Blau,
      5.59/Betonage/Rot,
      38.64/Brachzeiten/Grun,
      0.52/Sonderfälle/Lila% 
    } 
    \begin{flushleft} 
      \piechartlegend{\firstpiechartlist}% 
      %\piechartlegend{\secondpiechartlist} 
    \end{flushleft} 
    \begin{subfigure}[b]{0.48\textwidth} 
      \centering 
      \piechart{\firstpiechartlist} 
      \caption{Auswertung K1}% <- verschoben 
    \end{subfigure}% 
    \hfill 
    \begin{subfigure}[b]{0.48\textwidth} 
      \centering 
      \piechart{\secondpiechartlist} 
      \caption{Auswertung K2}% <- verschoben 
    \end{subfigure} 
  \end{minipage} 
\end{center} 
\end{document}
Wie kann ich die Legende mittig ausrichten?

Gruß
pauabaer

von Bartman » Mi 27. Jul 2016, 22:16

\documentclass{scrbook} 

\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{subcaption} 
\usepackage{tikz} 

\definecolor{Orange}{RGB}{247 150 70} 
\definecolor{Grun}{RGB}{155 187 89}
\definecolor{Lila}{RGB}{115 38 218}
\definecolor{HBlau}{RGB}{75 172 198}
\definecolor{Pink}{RGB}{255 0 128}
\definecolor{Rot}{RGB}{192 80 77}
\definecolor{Blau}{RGB}{79 129 189}
\definecolor{Lila}{RGB}{128 100 162}

\newcommand*\firststartangle{0} 
\newcommand*\radius{3} 

\makeatletter 
\newcommand\@piechart[1]{% 
  \begin{tikzpicture} 
    \foreach [ 
      remember=\endangle as \startangle (initially \firststartangle), 
      evaluate={\endangle=\startangle+3.6*\percent}, 
      evaluate={\midangle=.5*(\startangle+\endangle)} 
    ] \percent/\name/\color in {#1}{ 
      \draw[fill={\color!80},draw={\color}] 
          (0,0) -- (\startangle:\radius) arc (\startangle:\endangle:\radius) -- cycle; 
      \node[pin=\midangle:\percent\,\%] at (\midangle:\radius) {}; 
    }; 
  \end{tikzpicture}% 
} 
\newcommand*\piechart[1]{\expandafter\@piechart\expandafter{#1}} 
\newcommand\@piechartlegend[1]{% 
  \tikzset{font=\small}% <- hinzugefügt
  \foreach \percent/\name/\color in {#1}{ 
    \begin{tikzpicture}[baseline] 
      \node[fill=\color,minimum size=1.5ex,anchor=west](color){}; 
      \node[anchor=west] at (color.east) {\strut\name}; 
    \end{tikzpicture} 
  }% 
} 
\newcommand*\piechartlegend[1]{\expandafter\@piechartlegend\expandafter{#1}} 
\makeatother 

\begin{document} 
\begin{center} 
  \begin{minipage}{\linewidth} 
    \captionsetup{type=figure} 
    \centering 
    \renewcommand*\radius{2} 
    \newcommand\firstpiechartlist{ 
        58.91/Haupttätigkeiten/Orange, 
        22.99/Nebentätigkeiten/Grun, 
        7.50/störungsbedingte Unterbrechungen/HBlau, 
        10.60/persönliche Unterbrechungen/Pink% 
    } 
    \newcommand\secondpiechartlist{ 
      58.91/Haupttätigkeiten/Orange, 
      22.99/Nebentätigkeiten/Grun, 
      7.50/störungsbedingte Unterbrechungen/HBlau, 
      10.60/persönliche Unterbrechungen/Pink%
    } 
    \begin{flushleft} 
      \piechartlegend{\firstpiechartlist}% 
      %\piechartlegend{\secondpiechartlist} 
    \end{flushleft} 
    \begin{subfigure}[b]{0.48\textwidth} 
      \centering 
      \piechart{\firstpiechartlist} 
      \caption[Testi]{Mesti}% <- verschoben
    \end{subfigure}% 
    \hfill 
    \begin{subfigure}[b]{0.48\textwidth} 
      \centering 
      \piechart{\secondpiechartlist} 
      \caption[Testi]{Mesti}% <- verschoben
    \end{subfigure} 
  \end{minipage} 
\end{center} 
\end{document}

von pauabaer » Mi 27. Jul 2016, 20:34

Hallo esdd,

hab mich nochmal mit deinem Kreisdiagramm beschäftigt. Dazu habe ich noch zwei Fragen.
\documentclass{scrbook} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{subcaption} 
\usepackage{tikz} 

\definecolor{Orange}{RGB}{247 150 70} 
\definecolor{Grun}{RGB}{155 187 89}
\definecolor{Lila}{RGB}{115 38 218}
\definecolor{HBlau}{RGB}{75 172 198}
\definecolor{Pink}{RGB}{255 0 128}
\definecolor{Rot}{RGB}{192 80 77}
\definecolor{Blau}{RGB}{79 129 189}
\definecolor{Lila}{RGB}{128 100 162}

\newcommand*\firststartangle{0} 
\newcommand*\radius{3} 

\makeatletter 
\newcommand\@piechart[1]{% 
  \begin{tikzpicture} 
    \foreach [ 
      remember=\endangle as \startangle (initially \firststartangle), 
      evaluate={\endangle=\startangle+3.6*\percent}, 
      evaluate={\midangle=.5*(\startangle+\endangle)} 
    ] \percent/\name/\color in {#1}{ 
      \draw[fill={\color!80},draw={\color}] 
          (0,0) -- (\startangle:\radius) arc (\startangle:\endangle:\radius) -- cycle; 
      \node[pin=\midangle:\percent\%] at (\midangle:\radius) {}; 
    }; 
  \end{tikzpicture}% 
} 
\newcommand*\piechart[1]{\expandafter\@piechart\expandafter{#1}} 
\newcommand\@piechartlegend[1]{% 
  \foreach \percent/\name/\color in {#1}{ 
    \begin{tikzpicture}[baseline] 
      \node[fill=\color,minimum size=1.5ex,anchor=west](color){}; 
      \node[anchor=west] at (color.east) {\strut\name}; 
    \end{tikzpicture} 
  }% 
} 
\newcommand*\piechartlegend[1]{\expandafter\@piechartlegend\expandafter{#1}} 
\makeatother 

\begin{document} 
\begin{center} 
  \begin{minipage}{\linewidth} 
    \captionsetup{type=figure} 
    \centering 
    \renewcommand*\radius{2} 
    \newcommand\firstpiechartlist{ 
        58.91/Haupttätigkeiten/Orange, 
        22.99/Nebentätigkeiten/Grun, 
        7.50/störungsbedingte Unterbrechungen/HBlau, 
        10.60/persönliche Unterbrechungen/Pink% 
    } 
    \newcommand\secondpiechartlist{ 
      58.91/Haupttätigkeiten/Orange, 
      22.99/Nebentätigkeiten/Grun, 
      7.50/störungsbedingte Unterbrechungen/HBlau, 
      10.60/persönliche Unterbrechungen/Pink%
    } 
    \begin{flushleft} 
      \piechartlegend{\firstpiechartlist}% 
      %\piechartlegend{\secondpiechartlist} 
    \end{flushleft} 
    \begin{subfigure}[b]{0.48\textwidth} 
      \centering 
      \piechart{\firstpiechartlist} 
    \end{subfigure}% 
    \caption[Testi]{Mesti}
    \hfill 
    \begin{subfigure}[b]{0.48\textwidth} 
      \centering 
      \piechart{\secondpiechartlist} 
    \end{subfigure} 
    \caption[Testi]{Mesti}
  \end{minipage} 
\end{center} 
\end{document}
An welcher Stelle kann ich die Schriftgröße der Legende verändern?
Wenn ich eine Caption einfüge, dann stehen die beiden Diagramme untereinander. Muss ich sie skalieren oder wie schaffe ich es beide nebeneinander mit Caption zu platzieren? Und wo wird die übergeordnete Bildunterschrift platziert?

Gruß
pauabaer

von pauabaer » So 3. Jul 2016, 20:03

Entschuldige. War gestern schon zu spät. Es sind ja ganz deutlich die subfigures zu sehen :) :roll:

Werde mich mit deinem Vorschlag weiter beschäftigen. Noch steige ich nicht ganz hinter den Code.

Aber vielen Dank! Die Ausgabe ist so wie ich mir das vorgestellt habe!

von esdd » So 3. Jul 2016, 00:55

pauabaer hat geschrieben:Kann ich hier dann auch eine subfigure-Umgebung einfügen?
In meinem Beispiel sind doch gleich zwei subfigure-Umgebungen??

Falls Du die Beschriftungen der Teilabbildungen und der Gesamtabbildung vermisst - die fehlten in Deinem MWE, weshalb ich mir jetzt auch keine ausgedacht habe. Sie würden sich aber ganz normal mit \caption Befehlen einfügen lassen.

Aus Deinem [!h] für die table Umgebung habe ich allerdings geschlussfolgert, dass die Abbildung gar nicht gleiten soll und deshalb die Gleitumgebung ersetzt.

von pauabaer » So 3. Jul 2016, 00:38

Kann ich hier dann auch eine subfigure-Umgebung einfügen?

von esdd » Sa 2. Jul 2016, 23:28

Wenn ich Dich richtig verstanden habe, möchtest Du etwas wie

Bild
\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{subcaption}
\usepackage{tikz}

\definecolor{Grun}{RGB}{155 187 89}
\definecolor{Rot}{RGB}{192 80 77}
\definecolor{Blau}{RGB}{79 129 189}
\definecolor{Lila}{RGB}{128 100 162}

\newcommand*\firststartangle{0}
\newcommand*\radius{3}

\makeatletter
\newcommand\@piechart[1]{%
  \begin{tikzpicture}
    \foreach [
      remember=\endangle as \startangle (initially \firststartangle),
      evaluate={\endangle=\startangle+3.6*\percent},
      evaluate={\midangle=.5*(\startangle+\endangle)}
    ] \percent/\name/\color in {#1}{
      \draw[fill={\color!80},draw={\color}]
          (0,0) -- (\startangle:\radius) arc (\startangle:\endangle:\radius) -- cycle;
      \node[pin=\midangle:\percent\%] at (\midangle:\radius) {};
    };
  \end{tikzpicture}%
}
\newcommand*\piechart[1]{\expandafter\@piechart\expandafter{#1}}
\newcommand\@piechartlegend[1]{%
  \foreach \percent/\name/\color in {#1}{
    \begin{tikzpicture}[baseline]
      \node[fill=\color,minimum size=1.5ex,anchor=west](color){};
      \node[anchor=west] at (color.east) {\strut\name};
    \end{tikzpicture}
  }%
}
\newcommand*\piechartlegend[1]{\expandafter\@piechartlegend\expandafter{#1}}
\makeatother

\begin{document}
\begin{center}
  \begin{minipage}{\linewidth}
    \captionsetup{type=figure}
    \centering
    \renewcommand*\radius{2}
    \newcommand\firstpiechartlist{
        58.91/Haupttätigkeiten/Rot,
        22.99/Nebentätigkeiten/Grun,
        7.50/störungsbedingte Unterbrechungen/Blau,
        10.60/persönliche Unterbrechungen/Lila%
    }
    \newcommand\secondpiechartlist{
      21.2/X/yellow,
      40.7/XXX/purple,
      39.1/+++/orange%
    }
    \begin{flushleft}
      \piechartlegend{\firstpiechartlist}%
      \piechartlegend{\secondpiechartlist}
    \end{flushleft}
    \begin{subfigure}[b]{0.48\textwidth}
      \centering
      \piechart{\firstpiechartlist}
    \end{subfigure}%
    \hfill
    \begin{subfigure}[b]{0.48\textwidth}
      \centering
      \piechart{\secondpiechartlist}
    \end{subfigure}
  \end{minipage}
\end{center}
\end{document}
Die Kommentarzeichen (%) sind in dem Beispiel an allen Stellen notwendig. Sie verhindern an der jeweiligen Stelle, dass durch das Zeilenende ein Leerzeichen eingefügt wird.

Und übrigens ist legend columns=-1 eine Option von pgfplots, die Du nur für eine axis Umgebung verwenden kannst.
Dateianhänge
gl_kreisdiagrammlegende.png
gl_kreisdiagrammlegende.png (19.87 KiB) 3977 mal betrachtet

von pauabaer » Sa 2. Jul 2016, 19:00

Entschuldige bitte das ich mich unklar ausgedrückt habe. Ich möchte eine Legende über beide Abbildungen. Da ich aber die subfigure-Umgebung benötige, brauche ich dann wohl eine eigene Grafik.

Wie muss diese aussehen? Woher bekomme ich den Bezug der Farben?

Nach oben