Tabellen und Grafiken erstellen und anordnen
esdd
Forum-Meister
Beiträge: 2561 Registriert: So 7. Feb 2010, 16:36
Beitrag
von esdd » Sa 2. Jul 2016, 23:28
Wenn ich Dich richtig verstanden habe, möchtest Du etwas wie
\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 (19.87 KiB) 3011 mal betrachtet
Zuletzt geändert von
esdd am So 3. Jul 2016, 01:14, insgesamt 1-mal geändert.
pauabaer
Forum-Fortgeschrittener
Beiträge: 63 Registriert: Sa 19. Sep 2015, 00:17
Beitrag
von pauabaer » So 3. Jul 2016, 00:38
Kann ich hier dann auch eine subfigure-Umgebung einfügen?
esdd
Forum-Meister
Beiträge: 2561 Registriert: So 7. Feb 2010, 16:36
Beitrag
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.
pauabaer
Forum-Fortgeschrittener
Beiträge: 63 Registriert: Sa 19. Sep 2015, 00:17
Beitrag
von pauabaer » So 3. Jul 2016, 20:03
Entschuldige. War gestern schon zu spät. Es sind ja ganz deutlich die subfigures zu sehen
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!
pauabaer
Forum-Fortgeschrittener
Beiträge: 63 Registriert: Sa 19. Sep 2015, 00:17
Beitrag
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
Bartman
Forum-Meister
Beiträge: 2456 Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz
Beitrag
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}
pauabaer
Forum-Fortgeschrittener
Beiträge: 63 Registriert: Sa 19. Sep 2015, 00:17
Beitrag
von pauabaer » Mi 27. Jul 2016, 23:17
Besten Dank!
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
Bartman
Forum-Meister
Beiträge: 2456 Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz
Beitrag
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.
pauabaer
Forum-Fortgeschrittener
Beiträge: 63 Registriert: Sa 19. Sep 2015, 00:17
Beitrag
von pauabaer » Do 28. Jul 2016, 22:33
Dank dir Bartman!
Auf deine Frage habe ich keine Antwort.. Wie soll ich den Status anpassen?