Tikz stacked ybar
In dem bisherigen Code kann man die Legende zum Beispiel so einfügen:
Infos zu forget plot und legend style findest du in der Doku zu pgfplots.
Gruß
Elke
\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}
Gruß
Elke
Zuletzt geändert von esdd am Di 12. Nov 2013, 13:07, insgesamt 1-mal geändert.
Danke für die Hilfe. Leider komme ich kaum zum Bearbeiten des Dokumentes, so dass alles etwas länger dauert.
In dem Beispiel wird der Rahmen der Legende mittels dem \note[]{} an Ende erstellt, jedoch sieht man die Gitterlinien des Diagramms wenn man die Legende nach Innen verschiebt. Diese kann man mittels \note[fill=white,...] ausblenden, jedoch ist dann auch der Text der Legende weg. Wie kann ich diesen eine Ebene nach vorn bringen?
In dem Beispiel wird der Rahmen der Legende mittels dem \note[]{} an Ende erstellt, jedoch sieht man die Gitterlinien des Diagramms wenn man die Legende nach Innen verschiebt. Diese kann man mittels \note[fill=white,...] ausblenden, jedoch ist dann auch der Text der Legende weg. Wie kann ich diesen eine Ebene nach vorn bringen?