von esdd » Do 10. Sep 2015, 18:57
Dann musst Du der axis Umgebung noch sagen, dass das Deine Koordinaten sind
symbolic x coords={X,Y,Z,MX,MY,MZ},
xtick={X,Y,Z,MX,MY,MZ},
und ybar statt ybar interval=5 verwenden. Außerdem würde ich links und rechts zusätzlichen Abstand mit enlarge x limits={abs=25pt} einfügen.
Die Balken sind in der Voreinstellung 10pt breit und haben bei einer Koordinate den Abstand 2pt. Die Balkenbreite lässt sich über bar width=... ändern. Möchte man einen anderen Abstand zwischen den Balken, so kann man diesen ybar zuweisen, also zum Beispiel ybar=1pt.
Code:
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{
compat=1.9,
xlabel near ticks,
ylabel near ticks
}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
height=6cm,
width=12cm,
enlargelimits=0.05,
legend style={
at={(0.5,-0.2)},
anchor=north,
legend columns=-1
},
ymin=-30,
ymax=40,
x tick label style={/pgf/number format/1000 sep=},
x tick label style={rotate=45,anchor=east},
ylabel={Mio. t},
ybar,% statt ybar interval=5,
ytick={-30,-20,...,40},
symbolic x coords={X,Y,Z,MX,MY,MZ},% <- ergänzt
xtick={X,Y,Z,MX,MY,MZ},% <- ergänzt
enlarge x limits={abs=25pt}% <- ergänzt
]
\addplot coordinates { %TP1.02
(X,5.495)
(Y,0.278)
(Z,-1.686)
(MX,-0.259)
(MY,-6.11)
(MZ,-0.16)
};
\addplot coordinates { %TP1.03
(X,26.618)
(Y,5.252)
(Z,9.998)
(MX,12.455)
(MY,14.831)
(MZ,-17.319)
};
\addplot coordinates { %TP1.09
(X,13.213)
(Y, 0.007)
(Z,3.594)
(MX,-0.011)
(MY,3.856)
(MZ,-0.026)
};
\addplot coordinates { %TP1.10
(X,28.349)
(Y, -4.235)
(Z,7.511)
(MX,-12.248)
(MY,15.522)
(MZ,22.576)
};
\legend{TP1.02,TP1.03,TP1.09,TP1.10}
\end{axis}
\end{tikzpicture}
\end{document}
BTW: Gibt es einen speziellen Grund, weshalb Du Kompatibilität zur älteren Version 1.9 herstellst? Aktuell ist 1.12.
Gruß
Elke
Edit: xtick={X,Y,Z,MX,MY,MZ}, ergänzt
Dann musst Du der [tt]axis[/tt] Umgebung noch sagen, dass das Deine Koordinaten sind
[code]symbolic x coords={X,Y,Z,MX,MY,MZ},
xtick={X,Y,Z,MX,MY,MZ},[/code]
und [tt]ybar[/tt] statt [tt]ybar interval=5[/tt] verwenden. Außerdem würde ich links und rechts zusätzlichen Abstand mit [tt]enlarge x limits={abs=25pt}[/tt] einfügen.
Die Balken sind in der Voreinstellung [tt]10pt[/tt] breit und haben bei einer Koordinate den Abstand [tt]2pt[/tt]. Die Balkenbreite lässt sich über [tt]bar width=...[/tt] ändern. Möchte man einen anderen Abstand zwischen den Balken, so kann man diesen [tt]ybar[/tt] zuweisen, also zum Beispiel [tt]ybar=1pt[/tt].
Code:
[code]
\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{
compat=1.9,
xlabel near ticks,
ylabel near ticks
}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
height=6cm,
width=12cm,
enlargelimits=0.05,
legend style={
at={(0.5,-0.2)},
anchor=north,
legend columns=-1
},
ymin=-30,
ymax=40,
x tick label style={/pgf/number format/1000 sep=},
x tick label style={rotate=45,anchor=east},
ylabel={Mio. t},
ybar,% statt ybar interval=5,
ytick={-30,-20,...,40},
symbolic x coords={X,Y,Z,MX,MY,MZ},% <- ergänzt
xtick={X,Y,Z,MX,MY,MZ},% <- ergänzt
enlarge x limits={abs=25pt}% <- ergänzt
]
\addplot coordinates { %TP1.02
(X,5.495)
(Y,0.278)
(Z,-1.686)
(MX,-0.259)
(MY,-6.11)
(MZ,-0.16)
};
\addplot coordinates { %TP1.03
(X,26.618)
(Y,5.252)
(Z,9.998)
(MX,12.455)
(MY,14.831)
(MZ,-17.319)
};
\addplot coordinates { %TP1.09
(X,13.213)
(Y, 0.007)
(Z,3.594)
(MX,-0.011)
(MY,3.856)
(MZ,-0.026)
};
\addplot coordinates { %TP1.10
(X,28.349)
(Y, -4.235)
(Z,7.511)
(MX,-12.248)
(MY,15.522)
(MZ,22.576)
};
\legend{TP1.02,TP1.03,TP1.09,TP1.10}
\end{axis}
\end{tikzpicture}
\end{document} [/code]
BTW: Gibt es einen speziellen Grund, weshalb Du Kompatibilität zur älteren Version 1.9 herstellst? Aktuell ist 1.12.
Gruß
Elke
Edit: [tt]xtick={X,Y,Z,MX,MY,MZ},[/tt] ergänzt