Balkenfarbe im gestapelten Säulendiagrammen anpasse.

Tabellen und Grafiken erstellen und anordnen


lu2007
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 23. Mai 2022, 18:17

Balkenfarbe im gestapelten Säulendiagrammen anpasse.

Beitrag von lu2007 »

Hallo,

ich bin grade erst auf Latex umgestiegen und versuche mich derzeit an gestapelten Balkendiagrammen. Das hat soweit auch geklappt, auch wenn es bestimmt elegantere Lösungen gibt. Nun möchte ich gerne die Farben der Balken anpassen.

Schon einmal vielen Dank für Lösungsvorschläge !

\begin{tikzpicture}
\begin{axis}[scale=1.5,
ybar stacked,bar width=25pt,
nodes near coords,
enlarge x limits= 0.15,
enlarge y limits= 0.00,
legend style={at={(0.5,-0.50)},
anchor=north,legend columns=2},
ylabel=kWh/a m²,
symbolic x coords={Primärenergie,Endenergie(n.e),Endenergie,Nutzenergie},
xtick=data,
x tick label style={rotate=90,anchor=east},
]



\addplot+[ybar] plot coordinates  {(Primärenergie,48)  (Endenergie(n.e),0)  (Endenergie,0)  (Nutzenergie,0)} ;

\addplot+[ybar] plot coordinates {(Primärenergie,0) (Endenergie(n.e),24) (Endenergie,0) (Nutzenergie,0)} ;

\addplot+[ybar] plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,36) (Nutzenergie,0)};

\addplot+[ybar] plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,24)(Nutzenergie,0)};

\addplot+[ybar] plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,12)(Nutzenergie,0)};

\addplot+[ybar] plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,0)(Nutzenergie,74.7)};



\legend{Primärenergie,Endenergie Strom,Umweltenergie,Netzbezug Strom,PV-Strom,Nutzenergie Gesamt}
\end{axis}
\end{tikzpicture}

Zuletzt geändert von lu2007 am Mo 23. Mai 2022, 19:48, insgesamt 1-mal geändert.

Oberlehrer

Re: Balkenfarbe im gestapelten Säulendiagrammen anpasse.

Beitrag von Oberlehrer »

Schau dir bitte einmal die Links in diesem Beitrag an: viewtopic.php?p=119106#p119106

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

Re: Balkenfarbe im gestapelten Säulendiagrammen anpasse.

Beitrag von esdd »

Wenn du für einzelne Plots die Farbe anpassen möchtest, kannst du die gewünschten Anpassungen in den Plotoptionen vornehmen:
\addplot+[yellow!80!black,fill=yellow!30] plot coordinates{...};
Das ybar kannst du bei Verwendung von \addplot+ und Angabe von ybar stacked als axis Option weglassen. Das + sorgt dafür, dass weitere Optionen für den Plot zu denen der axis Umgebung ergänzt werden.

Beispiel:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
\begin{axis}[scale=1.5,
ybar stacked,bar width=25pt,
nodes near coords,
enlarge x limits= 0.15,
enlarge y limits= 0,
legend style={at={(0.5,-0.50)},
anchor=north,legend columns=2},
ylabel=kWh/a m²,
symbolic x coords={Primärenergie,Endenergie(n.e),Endenergie,Nutzenergie},
xtick=data,
x tick label style={rotate=90,anchor=east},
]



\addplot+[yellow!80!black,fill=yellow!30] plot coordinates  {(Primärenergie,48)  (Endenergie(n.e),0)  (Endenergie,0)  (Nutzenergie,0)} ;

\addplot plot coordinates {(Primärenergie,0) (Endenergie(n.e),24) (Endenergie,0) (Nutzenergie,0)} ;

\addplot plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,36) (Nutzenergie,0)};

\addplot plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,24)(Nutzenergie,0)};

\addplot+[orange!80!black,fill=orange!50] plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,12)(Nutzenergie,0)};

\addplot plot coordinates {(Primärenergie,0) (Endenergie(n.e),0) (Endenergie,0)(Nutzenergie,74.7)};


\legend{Primärenergie,Endenergie Strom,Umweltenergie,Netzbezug Strom,PV-Strom,Nutzenergie Gesamt}
\end{axis}
\end{tikzpicture}
\end{document}
Wenn du die gleiche Abfolge der Farben in mehreren Plots nutzen möchtest, kannst du dir eine eigene cycle list definieren. Näheres dazu findest du in der Doku zu pgfplots

lu2007
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 23. Mai 2022, 18:17

Re: Balkenfarbe im gestapelten Säulendiagrammen anpasse.

Beitrag von lu2007 »

Hey , das klappt super.
Vielen Dank !

Antworten