Probleme bei zusammengesetzten Bakendiagramm Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Sonnenschein
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Fr 4. Jun 2021, 12:02

Probleme bei zusammengesetzten Bakendiagramm

Beitrag von Sonnenschein »

Hey, ich habe eine Frage zu dem untenstehenden zusammengesetzten Balkendiagramm.
Leider summiert Latex bei mir die Werte auf, sodass am Ende 100 steht. Ich hätte aber gerne die einzelnen Werte nicht aufsummiert in dem Diagramm Stehen. Kann mir da jemand helfen?

Des weiteren kann man leider die letzten Zahlen in der Reihe, in grün, nicht lesen, da der Bereich so klein ist. Hat da jemand eine Idee, wie man das besser darstellen kann, dass sich nichts überschneidet?

ich wäre wirklich sehr dankbar, da ich zu keinem guten Ergebnis gekommen bin.

Mein Code:

\usepackage{pgfplots, pgfplotstable}
\begin{doocument}
\begin{figure} [H]
	\pgfplotstableread[col sep=space, header=false]{
		2005   6.6 12.2  35.1  30.8  12.9  2.4
		2010   4.5 10.8  38.4  32.7  12.5  1.8 
		2014   3.5  9.2  40.5  33.5  11.5  1.7
		2015   3.6  9.1  41.2  33.3  11.0  1.8
		2016   3.4  9.0  42.1  33.5  10.5  1.5
		2017   3.5  8.9  42.1  33.2  10.8  1.5 
		2018   3.4  9.0  42.5  33.0  10.4  1.7
		2019   3.4  8.8  42.5  33.5  10.1  1.7
		2020   3.7  9.2  42.5  33.1  9.9   1.6
		2021   3.7  9.1  42.9  32.8  9.7   1.8
	}\datatable
	\begin{tikzpicture} 
		\begin{axis}[
			width=0.65\linewidth,
			height=0.5\textheight,
			yticklabels from table={\datatable}{0},%
			enlarge y limits={abs=0.9cm},%
			enlarge x limits  = 0.1,
			ytick=data,%
			xbar stacked, 
			ytick=data, 
			%xmin=0.0, xmax=100.0, 
			legend pos=north east, 
			nodes near coords,
			point meta=x,
			every node near coord/.append style={at= 
                        {(0,0)},xshift=-2.8pt,yshift=10pt,font=\small,anchor=center,nodes=center},
			axis y line*=left,
			axis x line*=none,
			legend style={at={(0.97,1)},xshift=0,anchor=north west,nodes=right},
			ylabel={Jahr},
			ticklabel style={/pgf/number format/.cd, fixed, use comma, assume math mode},
			%x label style={at={(0.5,-0.5)}},
			y label style={at={(-0.02,0.5)}},
			]
			\addplot table [x=1, y expr=\coordindex] {\datatable};
			\addplot table [x=2, y expr=\coordindex] {\datatable};
			\addplot table [x=3, y expr=\coordindex] {\datatable};
			\addplot table [x=4, y expr=\coordindex] {\datatable};
			\addplot table [x=5, y expr=\coordindex] {\datatable};
			\addplot table [x=6, y expr=\coordindex] {\datatable};
			\addlegendentry{1,0 - 1,4 sehr gut}   
\addlegendentry{1,5 - 1,9 gut} \addlegendentry{2,0 - 2,4 befriedigend} \addlegendentry{5,5 - 2,9 ausreichend} \addlegendentry{3,0 - 3,4 nicht ausreichend} \addlegendentry{3,5 - 4,0 ungenügend} \end{axis} \end{tikzpicture} \end{figure}
Dateianhänge
Unbenannt.png
Zuletzt geändert von Stefan Kottwitz am Fr 4. Jun 2021, 13:41, insgesamt 1-mal geändert.
Grund: Code markiert

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2083
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Re: Probleme bei zusammengesetzten Bakendiagramm

Beitrag von Stefan Kottwitz »

Ich habe Deinen Code mal übersetzbar gemacht:

\documentclass{article}
\usepackage{pgfplots, pgfplotstable,float}
\begin{document}
\begin{figure} [H]
	\pgfplotstableread[col sep=space, header=false]{
		2005   6.6 12.2  35.1  30.8  12.9  2.4
		2010   4.5 10.8  38.4  32.7  12.5  1.8 
		2014   3.5  9.2  40.5  33.5  11.5  1.7
		2015   3.6  9.1  41.2  33.3  11.0  1.8
		2016   3.4  9.0  42.1  33.5  10.5  1.5
		2017   3.5  8.9  42.1  33.2  10.8  1.5 
		2018   3.4  9.0  42.5  33.0  10.4  1.7
		2019   3.4  8.8  42.5  33.5  10.1  1.7
		2020   3.7  9.2  42.5  33.1  9.9   1.6
		2021   3.7  9.1  42.9  32.8  9.7   1.8
	}\datatable
	\begin{tikzpicture} 
		\begin{axis}[
			width=0.65\linewidth,
			height=0.5\textheight,
			yticklabels from table={\datatable}{0},%
			enlarge y limits={abs=0.9cm},%
			enlarge x limits  = 0.1,
			ytick=data,%
			xbar stacked, 
			ytick=data, 
			%xmin=0.0, xmax=100.0, 
			legend pos=north east, 
			nodes near coords,
			point meta=x,
			every node near coord/.append style={at= 
                        {(0,0)},xshift=-2.8pt,yshift=10pt,font=\small,anchor=center,nodes=center},
			axis y line*=left,
			axis x line*=none,
			legend style={at={(0.97,1)},xshift=0,anchor=north west,nodes=right},
			ylabel={Jahr},
			ticklabel style={/pgf/number format/.cd, fixed, use comma, assume math mode},
			%x label style={at={(0.5,-0.5)}},
			y label style={at={(-0.02,0.5)}},
			]
			\addplot table [x=1, y expr=\coordindex] {\datatable};
			\addplot table [x=2, y expr=\coordindex] {\datatable};
			\addplot table [x=3, y expr=\coordindex] {\datatable};
			\addplot table [x=4, y expr=\coordindex] {\datatable};
			\addplot table [x=5, y expr=\coordindex] {\datatable};
			\addplot table [x=6, y expr=\coordindex] {\datatable};
			\addlegendentry{1,0 - 1,4 sehr gut}   

		\addlegendentry{1,5 - 1,9 gut}
		\addlegendentry{2,0 - 2,4 befriedigend}
		\addlegendentry{5,5 - 2,9 ausreichend}
		\addlegendentry{3,0 - 3,4 nicht ausreichend}
		\addlegendentry{3,5 - 4,0 ungenügend}
	\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

Im Beitrag fehlte das float-Paket, Dokumentklasse, so kann man das nicht testen und verbessern helfen. Wenn Du ein komplettes Beispiel postest, dann kann man es mit einem Klick hier auf den "LaTeX-Ausgabe"-Button testen.

Stefan


Sonnenschein
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Fr 4. Jun 2021, 12:02

Re: Probleme bei zusammengesetzten Bakendiagramm

Beitrag von Sonnenschein »

Dankeschön:) Hast du auch eine Idee für meine Probleme?


esdd
Forum-Meister
Forum-Meister
Beiträge: 2533
Registriert: So 7. Feb 2010, 16:36

Re: Probleme bei zusammengesetzten Bakendiagramm

Beitrag von esdd »

Eine Möglichkeit

\documentclass{article}
\usepackage{pgfplotstable,float}
\pgfplotsset{compat=1.18}% siehe https://texwelt.de/fragen/19163
\begin{document}
\begin{figure} [H]
\pgfplotstableread[col sep=space, header=false]{
  2005   6.6 12.2  35.1  30.8  12.9  2.4
  2010   4.5 10.8  38.4  32.7  12.5  1.8 
  2014   3.5  9.2  40.5  33.5  11.5  1.7
  2015   3.6  9.1  41.2  33.3  11.0  1.8
  2016   3.4  9.0  42.1  33.5  10.5  1.5
  2017   3.5  8.9  42.1  33.2  10.8  1.5 
  2018   3.4  9.0  42.5  33.0  10.4  1.7
  2019   3.4  8.8  42.5  33.5  10.1  1.7
  2020   3.7  9.2  42.5  33.1  9.9   1.6
  2021   3.7  9.1  42.9  32.8  9.7   1.8
}\datatable
\begin{tikzpicture} 
  \begin{axis}[
    width=0.9\linewidth,
    height=0.6\textheight,
    yticklabels from table={\datatable}{0},%
    enlarge y limits={abs=0.9cm},%
    enlarge x limits  = 0.1,
    ytick=data,
    xbar stacked, 
    ytick=data, 
    nodes near coords,
    point meta=rawx,
    nodes near coords style={yshift=10pt,font=\small,anchor=center},
    axis y line*=left,
    axis x line*=none,
    legend style={at={(0,-.1)},anchor=north west,nodes=right},
    ylabel={Jahr},
    ticklabel style={/pgf/number format/.cd, fixed, use comma, assume math mode},
    ]
    \addplot table [x=1, y expr=\coordindex] {\datatable};
    \addplot table [x=2, y expr=\coordindex] {\datatable};
    \addplot table [x=3, y expr=\coordindex] {\datatable};
    \addplot table [x=4, y expr=\coordindex] {\datatable};
    \addplot table [x=5, y expr=\coordindex] {\datatable};
    \addplot+[nodes near coords style={at={(\pgfkeysvalueof{/data point/x},\pgfkeysvalueof{/data point/y})}}]
      table [x=6, y expr=\coordindex] {\datatable};

    \addlegendentry{1,0 - 1,4 sehr gut}   
    \addlegendentry{1,5 - 1,9 gut}
    \addlegendentry{2,0 - 2,4 befriedigend}
    \addlegendentry{5,5 - 2,9 ausreichend}
    \addlegendentry{3,0 - 3,4 nicht ausreichend}
    \addlegendentry{3,5 - 4,0 ungenügend}
  \end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

Sonnenschein
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Fr 4. Jun 2021, 12:02

Re: Probleme bei zusammengesetzten Bakendiagramm

Beitrag von Sonnenschein »

Vielen lieben Dank. Es funktioniert.


Antworten