ich versuche ein Diagramm zu erstellen, was wie ein Box-Plot ohne Whiskers aussieht. Dabei sollen die einzelnen Säulen (jeweils 2) dicht aneinander gezeichnet werden.
Habe noch ein paar Probleme zu lösen und finde selbst keine Antwort. Meine Fragen:
1. Wie gruppiere ich die Säulen?
2. Wie kann ich das Label mittig zwischen den beiden Säulen ausrichten
3. Wie schalte ich die die Farbe einer Säule auf transparent? Es gibt Probleme bei den Achsen und auch bei dem Grid
4. Wie kann ich am besten einen Mittelwert kennzeichnen? Eine Linie die genau so lang wie die Säulen breit sind?
5. (nicht ganz passend zu dem Diagramm) Wie kann ich den Befehl \diag{} verändern um das speichern der externen Grafik zu verhindern? Ich muss jedesmal die entsprechende pdf löschen und danach erstellt LaTeX erst die Grafik neu.
Main:
\documentclass[ngerman]{article} \usepackage[T1]{fontenc}% fontenc und inputenc erm�glichen \usepackage[utf8]{inputenc}% Silbentrennung und \usepackage{babel} % Babel f�r diverse Sprachanpassungen %Grafiken \usepackage{pgfplots} \usepackage{pgfplotstable} %\usepackage{filecontents} %\usepackage{pstricks} %\usepackage{pst-plot} \usetikzlibrary{external} \tikzexternalize[prefix=tikz/] \usepgfplotslibrary{units} \newlength\figureheight % define length \figureheight \newlength\figurewidth % define length \figurewidth \newcommand{\diag}[7]{ \tikzexternalenable \begin{figure}[!htb] \centering \setlength\figureheight{#7\linewidth} % set \figureheight \setlength\figurewidth{#6\linewidth} % set \figurewidth \tikzsetnextfilename{#5} % name next TikZ figure % \pgfplotstableread[col sep=semicolon]{data/#2}\Data \pgfplotsset{ compat=newest, every axis plot post/.append style={line width = 2pt}, 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,line width=1pt,mark size=10pt}} } \input{#1} % input TiKZ figure code \caption{#3} % caption \label{fig:#4} % label \end{figure} \tikzexternaldisable } \begin{document} \diag{stackedybarplot}{}{stacked ybar plot}{stacked}{stacked}{1}{0.4} \end{document}
\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 }\data \pgfplotstableread{ X min max mean label 2 0.3 1.4 1.0 RCP2.6 4 1.1 1.5 1.8 RCP4.5 6 1.4 1.7 2.2 RCP6.0 8 2.6 2.2 3.7 RCP8.5 }\datab \begin{tikzpicture} \begin{axis}[ ybar stacked, ymin=0, set layers, bar width=12pt, xtick=data, xticklabels from table={\data}{label}, height=\figureheight, width=\figurewidth, xlabel=Emissioinsszenario, ylabel=Temperaturänderung, use units, legend style={at={(0.5,-0.2)}, anchor=north, legend columns=-1}, xticklabel style={rotate=90,xshift=-2ex,anchor=mid east}, y unit=K, ymajorgrids, axis lines*=left ] \addplot [color=blue!0, fill=blue!0] table [y=min,x=X] \data; \addplot +[color=gray!60] table [y=max,x=X] \data; \addplot +[color=blue!0, fill=blue!0] table [y=min,x=X] \datab; \addplot +[color=gray!90] table [y=max,x=X] \datab; \end{axis} \end{tikzpicture}