Folgendes Minimalbeispiel zeigt mein "Problem":

Open in Online-Editor
\documentclass{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    height=7cm,
    width=\textwidth,
    ybar,
    xmin = 1984, xmax = 2015,
    ymin = 0, ymax = 2,
    xtick={1985,...,2015},
    x tick label style={rotate=90, anchor=east, /pgf/number format/1000 sep=},
    ylabel={Number of failure},
    ytick={0,...,2}
    ]
  \addplot coordinates {
    (1985, 0)
    (1986, 0)
    (1987, 0)
    (1988, 0)
    (1989, 0)
    (1990, 0)
    (1991, 0)
    (1992, 0)
    (1993, 0)
    (1994, 0)
    (1995, 0)
    (1996, 0)
    (1997, 0)
    (1998, 0)
    (1999, 0)
    (2000, 0)
    (2001, 0)
    (2002, 0)
    (2003, 0)
    (2004, 0)
    (2005, 0)
    (2006, 0)
    (2007, 0)
    (2008, 0)
    (2009, 0)
    (2010, 0)
    (2011, 0)
    (2012, 0)
    (2013, 0)
    (2014, 0)
    (2015, 0)
    (2012, 1)
  };
    \end{axis}
  \end{tikzpicture}
\end{document}

Wie kann ich den Abstand der y-Achsenbeschriftung zur y-Achse verkleinern?

gefragt 20 Aug '15, 05:18

dzaic's gravatar image

dzaic
721829
Akzeptiert: 85%

bearbeitet 07 Feb, 04:53

saputello's gravatar image

saputello
18.4k22352


Das geht mit xshift für y tick label style:

Open in Online-Editor
\documentclass{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    height=7cm,
    width=\textwidth,
    ybar,
    xmin = 1984, xmax = 2015,
    ymin = 0, ymax = 2,
    xtick={1985,...,2015},
    x tick label style={rotate=90, anchor=east, /pgf/number format/1000 sep=},
    ylabel={Number of failure},
    ytick={0,...,2},
    y tick label style={xshift=.2em},
    ]
  \addplot coordinates {
    (1985, 0)
    (1986, 0)
    (1987, 0)
    (1988, 0)
    (1989, 0)
    (1990, 0)
    (1991, 0)
    (1992, 0)
    (1993, 0)
    (1994, 0)
    (1995, 0)
    (1996, 0)
    (1997, 0)
    (1998, 0)
    (1999, 0)
    (2000, 0)
    (2001, 0)
    (2002, 0)
    (2003, 0)
    (2004, 0)
    (2005, 0)
    (2006, 0)
    (2007, 0)
    (2008, 0)
    (2009, 0)
    (2010, 0)
    (2011, 0)
    (2012, 0)
    (2013, 0)
    (2014, 0)
    (2015, 0)
    (2012, 1)
  };
    \end{axis}
  \end{tikzpicture}
\end{document}

Statt einen von der Schriftgröße abhängigen Wert, kann man natürlich auch einen von der x-Einheit abhängigen Wert verwenden:

Open in Online-Editor
\documentclass{standalone}

\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    height=7cm,
    width=\textwidth,
    ybar,
    xmin = 1984, xmax = 2015,
    ymin = 0, ymax = 2,
    xtick={1985,...,2015},
    x tick label style={rotate=90, anchor=east, /pgf/number format/1000 sep=},
    ylabel={Number of failure},
    ytick={0,...,2},
    y tick label style={xshift=2},
    ]
  \addplot coordinates {
    (1985, 0)
    (1986, 0)
    (1987, 0)
    (1988, 0)
    (1989, 0)
    (1990, 0)
    (1991, 0)
    (1992, 0)
    (1993, 0)
    (1994, 0)
    (1995, 0)
    (1996, 0)
    (1997, 0)
    (1998, 0)
    (1999, 0)
    (2000, 0)
    (2001, 0)
    (2002, 0)
    (2003, 0)
    (2004, 0)
    (2005, 0)
    (2006, 0)
    (2007, 0)
    (2008, 0)
    (2009, 0)
    (2010, 0)
    (2011, 0)
    (2012, 0)
    (2013, 0)
    (2014, 0)
    (2015, 0)
    (2012, 1)
  };
    \end{axis}
  \end{tikzpicture}
\end{document}

Um den Abstand umgekehrt zu vergrößern, verwendet man ggf. negative Werte.

Permanenter link

beantwortet 20 Aug '15, 05:26

saputello's gravatar image

saputello
18.4k22352

bearbeitet 20 Aug '15, 06:01

Wie man die Ticklabel beliebig verschieben kann, hat @saputello schon gezeigt. Wenn man aber automatisch eine gute Positionierung des Achsenlabels und der Ticklabel möchte, braucht man nur die pgfplots Version 1.8 oder neuer mit einer entsprechenden Angabe für compat:

Open in Online-Editor
\pgfplotsset{compat=1.12}% derzeit aktuelle Version

oder

Open in Online-Editor
\pgfplotsset{compat=newest}% wenn mindestens Version 1.8 installiert ist

alt text

Code:

Open in Online-Editor
\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{%
  %compat=1.12
  compat=newest% auf sharelatex ist noch nicht die 1.12
}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    height=7cm,
    width=\textwidth,
    ybar,
    xmin = 1984, xmax = 2015,
    ymin = 0, ymax = 2,
    xtick={1985,...,2015},
    xtick pos=left,
    x tick label style={rotate=90, anchor=east, /pgf/number format/1000 sep=},
    ylabel={Number of failure},
    ytick={0,...,2}
    ]
  \addplot coordinates {
    (1985, 0)
    (1986, 0)
    (1987, 0)
    (1988, 0)
    (1989, 0)
    (1990, 0)
    (1991, 0)
    (1992, 0)
    (1993, 0)
    (1994, 0)
    (1995, 0)
    (1996, 0)
    (1997, 0)
    (1998, 0)
    (1999, 0)
    (2000, 0)
    (2001, 0)
    (2002, 0)
    (2003, 0)
    (2004, 0)
    (2005, 0)
    (2006, 0)
    (2007, 0)
    (2008, 0)
    (2009, 0)
    (2010, 0)
    (2011, 0)
    (2012, 0)
    (2013, 0)
    (2014, 0)
    (2015, 0)
    (2012, 1)
  };
    \end{axis}
  \end{tikzpicture}
\end{document}
Permanenter link

beantwortet 20 Aug '15, 05:41

esdd's gravatar image

esdd
14.2k53251

bearbeitet 20 Aug '15, 05:57

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
×20

Frage gestellt: 20 Aug '15, 05:18

Frage wurde angeschaut: 2,229 Mal

Zuletzt aktualisiert: 07 Feb, 04:53