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, 11:18

dzaic's gravatar image

dzaic
631104853
Akzeptiert-Rate: 42%

bearbeitet 07 Feb '16, 10:53

saputello's gravatar image

saputello
11.1k154365


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, 11:26

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 20 Aug '15, 12: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, 11:41

esdd's gravatar image

esdd
17.7k254256
Akzeptiert-Rate: 62%

bearbeitet 20 Aug '15, 11:57

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×296
×55
×50
×32

gestellte Frage: 20 Aug '15, 11:18

Frage wurde gesehen: 15,792 Mal

zuletzt geändert: 07 Feb '16, 10:53