Hallo zusammen,

ich möchte gerne ein Säulendiagramm für eine Auswertung erstellen. Das klappt soweit auch ganz gut, zumindest solange die Säulen alle die gleiche Farbe haben. Allerdings würde ich gerne die Säulen der Proben, die geeignet sind, in Grün und die anderen Säulen in Rot darstellen. Mein bisheriger Ansatz mit folgendem Code zerschießt leider die Formatierung komplett. :(

Code, hier editierbar zum Übersetzen:
\documentclass[]{scrreprt}
\usepackage{pgfplots} % Für Säulendiagramm
\pgfplotsset{compat=1.18} % Versionsangabe
\begin{document}
\begin{tikzpicture}
\pgfplotsset{
every linear axis/.append style={
ybar,
%bar width=20pt,
point meta=rawy,
ymajorgrids=true,
symbolic x coords={Probe 1,Probe 2,Probe 3,Probe 4,Probe 5},
x tick label style={rotate=60,anchor=north east},
enlargelimits=auto,
ymin = 0,
ymax = 8,
legend pos= north east,
legend cell align=left, }}
\begin{axis}[
bar width = 20pt,
ylabel=$\Delta \%T$,
ytick={0,1,...,8},
xtick=data,
]
\addplot[fill=green,error bars/.cd,y dir=both,y explicit] coordinates {
(Probe 1,5.5) -= (0,1) += (0,1)
(Probe 2,5.0) -= (0,1) += (0,0.5)
% (Probe 3,1.9) -= (0,0) += (0,2)
% (Probe 4,3.3) -= (0,1) += (0,0)
% (Probe 5,4.1) -= (0,0) += (0,0)
};
\addlegendentry{geeignet}
\addplot[fill=red,error bars/.cd,y dir=both,y explicit] coordinates {
(Probe 3,1.9) -= (0,0) += (0,2)
(Probe 4,3.3) -= (0,1) += (0,0)
(Probe 5,4.1) -= (0,0) += (0,0)
};
\addlegendentry{ungeeignet}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Mit nur einem \addplot sieht alles gut aus. Hier stimmt jetzt allerdings die Position der grünen Säulen nicht mehr und bei den roten Säulen fehlt die Beschriftung. Auch die Abstände zwischen den Säulen sind unterschiedlich und zum Rand nicht existent.

Habe es auch schon mit zwei axis Umgebungen probiert, aber leider auch ohne Erfolg (MWE kann ich gerne nachliefern, falls gewünscht). In der Dokumentation zu pgfplots habe ich bisher auch nichts gefunden, auch wenn ich mir fast sicher bin, dass es irgendwo enthalten ist.

Daher würde ich mich sehr über Eure Unterstützung freuen!

Das Diagramm möchte ich dann noch erweitern und ggf. die Abstände anpassen. Mit der Option ybar=xpt kann ja aber nur der Abstand zwischen Säulen desselben x-Wertes angepasst werden. Gibt es so eine Möglichkeit auch für die Abstände der Säulen zwischen den x-Werten? Hoffe ich habe diese Option nicht in der Dokumentation überlesen.

Vielen Dank schon einmal und ein schönes Wochenende!

gefragt 03 Feb '23, 11:38

LatexNoob23's gravatar image

LatexNoob23
8118
Akzeptiert-Rate: 0%


Wenn Du keine Verschiebung zwischen den zwei Säulenplots haben möchtest, kannst du entweder

ybar=-\pgfplotwidth
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

verwenden oder nach ybar noch bar shift=0pt einfügen:

ybar,
ybar shift=0pt
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Wenn du alle Beschriftungen haben möchtest, dann verwende nicht xtick=data, da das nur die verwendeten Daten des ersten Plots nutzt. Nimm stattdessen

xtick distance=1
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Den Abstand zwischen den Säulen kannst du auf verschiedene Arten beeinflussen: Du kannst die Breite der Säulen (z.B. bar width=10pt) oder die Breite des gesamten Diagramms (z.B. width=10cm) oder die Länge für eine Einheit in x-Richtung vorgeben (z.B. x=2cm) ändern.

Code, hier editierbar zum Übersetzen:
\documentclass[]{scrreprt}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,bar shift=0pt, %oder ybar=-\pgfplotbarwidth,
bar width = 20pt,
bar shift=0pt,
point meta=rawy,
ymajorgrids=true,
ylabel=$\Delta \%T$,
ytick={0,1,...,8},
ymin = 0,
ymax = 8,
symbolic x coords={Probe 1,Probe 2,Probe 3,Probe 4,Probe 5},
x tick label style={rotate=60,anchor=north east},
xtick distance=1,% statt xtick=data
enlargelimits=auto,
legend pos= north east,
legend cell align=left,
%x=2cm
]
\addplot[fill=green,error bars/.cd,y dir=both,y explicit] coordinates {
(Probe 1,5.5) -= (0,1) += (0,1)
(Probe 2,5.0) -= (0,1) += (0,0.5)
};
\addlegendentry{geeignet}
\addplot[fill=red,error bars/.cd,y dir=both,y explicit] coordinates {
(Probe 3,1.9) -= (0,0) += (0,2)
(Probe 4,3.3) -= (0,1) += (0,0)
(Probe 5,4.1) -= (0,0) += (0,0)
};
\end{axis}
\end{tikzpicture}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 04 Feb '23, 22:06

esdd's gravatar image

esdd
17.8k304257
Akzeptiert-Rate: 62%

Vielen vielen Dank, genau so habe ich mir das vorgestellt. :D Danke auch für die ganzen Hinweise, manchmal steckt der Teufel echt im Detail. Dann wünsche ich Dir noch einen schönen Sonntag.

(05 Feb '23, 11:33) LatexNoob23
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×298
×54
×50

gestellte Frage: 03 Feb '23, 11:38

Frage wurde gesehen: 2,058 Mal

zuletzt geändert: 05 Feb '23, 11:33

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×