Ich habe ein Balkendiagramm mit pgfplots erstellt und dabei ein Beschriftung für die x-Achse hinzugefügt: xlabel={Gesicht}. Diese Beschriftung steht leider so dicht an den symbolischen x-Koordinaten, dass sich diese überlappen -- was sehr unschön aussieht. Wie kann ich den Abstand vergrößern?

Open in writeLaTeX
\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{kpfonts} % http://www.tug.dk/FontCatalogue/kpserif/

\usepackage{fixltx2e}
\usepackage{pgfplots}
\usetikzlibrary{patterns}

\begin{document}

\begin{figure}[htb]
\centering
\begin{tikzpicture}
  \begin{axis}[
    width=12cm,
    height=9.5cm,
    ybar=0pt, % Raum zwischen den Balken
    bar width=40pt,
    enlarge x limits=0.5,
    legend style={at={(1,1.15)},anchor=north east,draw=none},% Legende über Abb.
    legend cell align=left,% Linksbündige Ausrichtung der Legende
    xlabel={Gesicht},
    xtick={data},
    symbolic x coords={hoch vertrauensw\"urdig,niedrig vertrauensw\"urdig},
    ymin=17,
    ymax=25,
    ylabel={Mittlerer Einsatz},
    %ytick={17,18,...,25}
  ]
    \addplot[black,fill=lightgray,error bars/.cd,y dir=both,y explicit] coordinates {
      (hoch vertrauensw\"urdig,23.453) +- (0,0.393)
      (niedrig vertrauensw\"urdig,18.797) +- (0,0.357)
    };
    \addlegendentry{~betr\"ugerisches Verhalten};
    \addplot[black,fill=white,postaction={pattern=north east lines,pattern color=gray},error bars/.cd,y dir=both,y explicit] coordinates {
      (hoch vertrauensw\"urdig,22.891) +- (0,0.410)
      (niedrig vertrauensw\"urdig,18.844) +- (0,0.407)
    };
    \addlegendentry{~kooperatives Verhalten};
  \end{axis}
\end{tikzpicture}
  \caption{Investitionsverhalten. Die Fehlerbalken stellen die Standardfehler dar.}
  \label{fig:Investitionsverhalten}
\end{figure}

\end{document}

Zu geringer Abstand der Achsenbeschriftungen

gefragt 28 Jul '14, 11:37

Andr%C3%A9's gravatar image

André
93151833
Akzeptiert: 77%


Wenn Du Dein Beispiel laufen lässt, erhälst Du eine Warnung, dass im Rückwärtskompatibilitäsmodus gearbeitet wird und Dir wird empfohlen, die Kompatiblität auf die aktuelle Versionsnummer einzustellen. Zum einen kann man die Kompatibliltät mit

Open in writeLaTeX
\pgfplotsset{compat=1.10}

auf die derzeit aktuelle Version 1.10 festlegen und zum anderen kann man sie über

Open in writeLaTeX
\pgfplotsset{compat=newest}

mit der jeweils aktuellsten Version verknüpfen. Die von Dir benötigte Positionierung der tick Label wurde mit Version 1.3 eingeführt. Um das nutzen zu können, muss für compat also mindestens 1.3 angegeben werden. Sinnvoll wären derzeit aber wie gesagt 1.10 oder newest. Welche Version Du momentan hast, kannst Du entweder der log Datei entnehmen oder Du fragst sie mit \pgfplotsversion im Dokument ab.

alt text

Open in writeLaTeX
\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{kpfonts} % http://www.tug.dk/FontCatalogue/kpserif/
\usepackage{fixltx2e}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}% oder z.B. \pgfplotsset{compat=1.10}
\usetikzlibrary{patterns}
\begin{document}
%pgfplotsversion: \pgfplotsversion % Anzeigen der verwendetet pgfplotsversion
\begin{figure}[htb]
\centering
\begin{tikzpicture}
  \begin{axis}[
    width=12cm,
    height=9.5cm,
    ybar=0pt, % Raum zwischen den Balken
    bar width=40pt,
    enlarge x limits=0.5,
    legend style={at={(1,1.15)},anchor=north east,draw=none},% Legende über Abb.
    legend cell align=left,% Linksbündige Ausrichtung der Legende
    xlabel={Gesicht},
    xtick={data},
    symbolic x coords={hoch vertrauenswürdig,niedrig vertrauenswürdig},
    ymin=17,
    ymax=25,
    ylabel={Mittlerer Einsatz},
    %ytick={17,18,...,25}
  ]
    \addplot[
        black,fill=lightgray,
        error bars/.cd,y dir=both,y explicit
      ]coordinates {
      (hoch vertrauenswürdig,23.453) +- (0,0.393)
      (niedrig vertrauenswürdig,18.797) +- (0,0.357)
    };
    \addlegendentry{~betrügerisches Verhalten};
    \addplot[
        black,fill=white,
        postaction={pattern=north east lines,pattern color=gray},
        error bars/.cd,y dir=both,y explicit
      ] coordinates {
      (hoch vertrauenswürdig,22.891) +- (0,0.410)
      (niedrig vertrauenswürdig,18.844) +- (0,0.407)
    };
    \addlegendentry{~kooperatives Verhalten};
  \end{axis}
\end{tikzpicture}
\caption{Investitionsverhalten. Die Fehlerbalken stellen die Standardfehler dar.}
\label{fig:Investitionsverhalten}
\end{figure}
\end{document}
Permanenter link

beantwortet 28 Jul '14, 14:49

esdd's gravatar image

esdd
14.2k53251

bearbeitet 28 Jul '14, 17:41

Ich habe Version 1.10. Danke für die einfache Lösung! Was macht das \pgfplotsset{compat=newest}?

(28 Jul '14, 16:36) André

@andré Mit jeder neuen Version kommen neue Features hinzu, unter Umständen sind diese nicht abwärts-kompatibel. Mit newwest setzt du immer auf die neueste Version, aktuell 1.10.

(28 Jul '14, 16:50) Johannes

@André Ich habe die Antwort noch etwas ergänzt.

(28 Jul '14, 17:43) esdd

Eine einfache Korrektur durch Verschieben wäre diese Option zusätzlich für axis:

Open in writeLaTeX
every axis x label/.append style = {yshift = -1ex}

Statt zu verschieben, was ich mit append anhänge, könnte man auch den Stil fest setzen mit every axis x label/.style und sich auf current axis beziehen oder auf ticklabel cs bzw. ticklabel* cs, um es mal als weitere Möglichkeit erwähnt zu haben.

Permanenter link

beantwortet 28 Jul '14, 12:32

stefan's gravatar image

stefan ♦♦
5.8k12134

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×160
×44
×43

Frage gestellt: 28 Jul '14, 11:37

Frage wurde angeschaut: 4,655 Mal

Zuletzt aktualisiert: 28 Jul '14, 17:43