von esdd » Di 5. Nov 2013, 17:28
In dem bisherigen Code kann man die Legende zum Beispiel so einfügen:
\documentclass[margin=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepackage{pgfplotstable}
\usetikzlibrary{fit}
\begin{document}
\pgfplotsset{
every tick/.style={very thin,gray},
every tick label/.style={font={\scriptsize}},
every axis label/.style={font={\small}},
every axis/.append style={legend style={font=\tiny,draw=none}}
}
\pgfplotstableread{
X min max mean label
1 0.4 1.2 1.0 RCP2.6
3 0.9 1.1 1.4 RCP4.5
5 0.8 1.0 1.3 RCP6.0
7 1.4 1.2 2.0 RCP8.5
}\mitte
\pgfplotstableread{
X min max mean label
1 0.3 1.4 1.0 RCP2.6
3 1.1 1.5 1.8 RCP4.5
5 1.4 1.7 2.2 RCP6.0
7 2.6 2.2 3.7 RCP8.5
}\ende
\begin{tikzpicture}
\pgfplotsset{ybar stacked,
ymin=0,ymax=5,xmin=0, xmax=8,
}
\begin{axis}[ybar,bar width=15pt,
xtick=data,
xticklabels from table={\mitte}{label},
xticklabel style={rotate=90,xshift=-0.8ex,anchor=mid east},
xlabel=Emissioinsszenario,
ylabel={Temperaturänderung [K]},
ymajorgrids,
axis lines*=left,
bar shift=-12pt,
legend style={at={(1.1,1)},anchor=north west, name=label1},
]
\addplot+ [color=blue!50,opacity=0,forget plot] table [y=min,x=X] \mitte;
\addplot+ [color=gray!70,opacity=0.8] table [y=max,x=X] \mitte;
\addlegendentry{Mitte}
\end{axis}
\begin{axis}[ybar,bar width=15pt,
axis lines=none,
bar shift=12pt,
legend style={at={(label1.south west)},anchor=north west,name=label2}
]
\addplot+ [color=blue,opacity=0,forget plot] table [y=min,x=X] \ende;
\addplot+ [color=gray!90,opacity=0.9] table [x=X, y=max] \ende;
\addlegendentry{Ende}
\end{axis}
\node[draw, fit= (label1) (label2), inner sep=0pt]{};
\end{tikzpicture}
\end{document}
Infos zu forget plot und legend style findest du in der Doku zu pgfplots.
Gruß
Elke
In dem bisherigen Code kann man die Legende zum Beispiel so einfügen:
[code]\documentclass[margin=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepackage{pgfplotstable}
\usetikzlibrary{fit}
\begin{document}
\pgfplotsset{
every tick/.style={very thin,gray},
every tick label/.style={font={\scriptsize}},
every axis label/.style={font={\small}},
every axis/.append style={legend style={font=\tiny,draw=none}}
}
\pgfplotstableread{
X min max mean label
1 0.4 1.2 1.0 RCP2.6
3 0.9 1.1 1.4 RCP4.5
5 0.8 1.0 1.3 RCP6.0
7 1.4 1.2 2.0 RCP8.5
}\mitte
\pgfplotstableread{
X min max mean label
1 0.3 1.4 1.0 RCP2.6
3 1.1 1.5 1.8 RCP4.5
5 1.4 1.7 2.2 RCP6.0
7 2.6 2.2 3.7 RCP8.5
}\ende
\begin{tikzpicture}
\pgfplotsset{ybar stacked,
ymin=0,ymax=5,xmin=0, xmax=8,
}
\begin{axis}[ybar,bar width=15pt,
xtick=data,
xticklabels from table={\mitte}{label},
xticklabel style={rotate=90,xshift=-0.8ex,anchor=mid east},
xlabel=Emissioinsszenario,
ylabel={Temperaturänderung [K]},
ymajorgrids,
axis lines*=left,
bar shift=-12pt,
legend style={at={(1.1,1)},anchor=north west, name=label1},
]
\addplot+ [color=blue!50,opacity=0,forget plot] table [y=min,x=X] \mitte;
\addplot+ [color=gray!70,opacity=0.8] table [y=max,x=X] \mitte;
\addlegendentry{Mitte}
\end{axis}
\begin{axis}[ybar,bar width=15pt,
axis lines=none,
bar shift=12pt,
legend style={at={(label1.south west)},anchor=north west,name=label2}
]
\addplot+ [color=blue,opacity=0,forget plot] table [y=min,x=X] \ende;
\addplot+ [color=gray!90,opacity=0.9] table [x=X, y=max] \ende;
\addlegendentry{Ende}
\end{axis}
\node[draw, fit= (label1) (label2), inner sep=0pt]{};
\end{tikzpicture}
\end{document}[/code]
Infos zu forget plot und legend style findest du in der Doku zu pgfplots.
Gruß
Elke