Ich würde mich über die Hilfe eines Profis hier sehr freuen, da leider meine Kenntnisse nicht ausreichen:

Ich möchte gerne auf der y-Achse die yminorticks angezeigt bekommen, bekomme es jedoch leider nicht hin.

Hier mein Minimalbeispiel

\documentclass{standalone}
\usepackage{pgfplots}

\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}

\begin{document}

\begin{tikzpicture}
  \begin{semilogyaxis}[
      clip=false,
      width = \textwidth,
      axis on top = true,
      xmin = 2016-01-01,
      xmax = 2021-12-31,
      xtick = {2016-01-01, 2017-01-01, 2018-01-01, 2019-01-01, 2020-01-01, 2021-01-01},
      xticklabel style ={/pgf/number format/1000 sep=,
                         xshift = 25pt},
      ymin = 1E-14,
      ymax = 1,
      ylabel = {Wahrscheinlichkeit},
      yminorticks = true,
      date coordinates in = x,
      xticklabel=\year,
      date ZERO = 2016-01-01
  ]
  \addplot[blue, only marks, mark size = 0.5] coordinates {
    (2016-03-04, 8.27e-11)
    (2017-03-03, 3.30e-10)
    (2018-01-15, 2.22e-10)
    (2019-01-11, 2.47e-10)
    (2020-01-13, 3.69e-10)
    (2021-01-26, 2.55e-10)
  };

  \end{semilogyaxis}
  \end{tikzpicture}

\end{document}

gefragt 06 Jul '22, 12:24

dzaic's gravatar image

dzaic
631104953
Akzeptiert-Rate: 42%

bearbeitet 06 Jul '22, 12:27

1

@esdd Danke für den Hinweis. Es funktioniert einwandfrei. Magst Du eine Lösungsantwort schreiben?

(07 Jul '22, 07:44) dzaic

Bei der voreingestellten Höhe des Diagramms und der großen Anzahl der Zehnerpotenzen im Beispiel, wird automatisch nur für jede zweite Zehnerpotenz ein major tick eingezeichnet. Deshalb werden bei der logarithmischen Teilung dann auch keine yminortick angezeigt. Damit letztere eingezeichnet werden können, musst du also dafür sorgen, dass für jede Zehnerpotenz ein major tick gesetzt wird. Das lässt sich über

ytick distance=10^1

erreichen.

Beispiel:

\documentclass{standalone}
\usepackage{pgfplots}

\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}

\begin{document}

\begin{tikzpicture}
  \begin{semilogyaxis}[
      clip=false,
      width = \textwidth,
      axis on top = true,
      xmin = 2016-01-01,
      xmax = 2021-12-31,
      xtick = {2016-01-01, 2017-01-01, 2018-01-01, 2019-01-01, 2020-01-01, 2021-01-01},
      xticklabel style ={/pgf/number format/1000 sep=,
                         xshift = 25pt},
      ymin = 1E-14,
      ymax = 1,
      ytick distance=10^1,% <- eingefügt
      ylabel = {Wahrscheinlichkeit},
      yminorticks = true,
      date coordinates in = x,
      xticklabel=\year,
      date ZERO = 2016-01-01
  ]
  \addplot[blue, only marks, mark size = 0.5] coordinates {
    (2016-03-04, 8.27e-11)
    (2017-03-03, 3.30e-10)
    (2018-01-15, 2.22e-10)
    (2019-01-11, 2.47e-10)
    (2020-01-13, 3.69e-10)
    (2021-01-26, 2.55e-10)
  };
  \end{semilogyaxis}
  \end{tikzpicture}
\end{document}

Sollte der Platz für die vielen Ticks zu eng werden, kannst du zusätzlich eine größere Höhe für das Diagramm vorgeben, zum Beispiel height=12cm oder eventuell ymax verringern bzw. ymin erhöhen.

Beispiel:

\documentclass{standalone}
\usepackage{pgfplots}

\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}

\begin{document}

\begin{tikzpicture}
  \begin{semilogyaxis}[
      clip=false,
      width = \textwidth,
      height=12cm,% <- eingefügt
      axis on top = true,
      xmin = 2016-01-01,
      xmax = 2021-12-31,
      xtick = {2016-01-01, 2017-01-01, 2018-01-01, 2019-01-01, 2020-01-01, 2021-01-01},
      xticklabel style ={/pgf/number format/1000 sep=,
                         xshift = 25pt},
      ymin = 1E-14,% <- oder hier anpassen, beispielsweise ymin=1E-13
      ymax = 1,% <- oder hier anpassen, beispielsweise ymax=1E-1
      ytick distance=10^1,% <- eingefügt
      ylabel = {Wahrscheinlichkeit},
      yminorticks = true,
      date coordinates in = x,
      xticklabel=\year,
      date ZERO = 2016-01-01
  ]
  \addplot[blue, only marks, mark size = 0.5] coordinates {
    (2016-03-04, 8.27e-11)
    (2017-03-03, 3.30e-10)
    (2018-01-15, 2.22e-10)
    (2019-01-11, 2.47e-10)
    (2020-01-13, 3.69e-10)
    (2021-01-26, 2.55e-10)
  };

  \end{semilogyaxis}
  \end{tikzpicture}

\end{document}
Permanenter link

beantwortet 08 Jul '22, 09:22

esdd's gravatar image

esdd
17.7k254256
Akzeptiert-Rate: 62%

bearbeitet 10 Jul '22, 23:39

Werden die Werte für ytick explizit angegeben, dann werden die yminorticks ebenfalls angezeigt. Eine Höhenangabe ist hier nicht erforderlich.

\documentclass{standalone}
\usepackage{pgfplots}

\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}

\begin{document}

\begin{tikzpicture}
  \begin{semilogyaxis}[
      clip=false,
      width = \textwidth,
      axis on top = true,
      xmin = 2016-01-01,
      xmax = 2021-12-31,
      xtick = {2016-01-01, 2017-01-01, 2018-01-01, 2019-01-01, 2020-01-01, 2021-01-01},
      xticklabel style ={/pgf/number format/1000 sep=,
                         xshift = 25pt},
      ymin = 1E-14,
      ymax = 1,
      ylabel = {Wahrscheinlichkeit},
      yminorticks = true,
      ytick = {1E-13, 1E-12, 1E-11, 1E-10, 1E-09, 1E-08, 1E-07, 1E-06, 1E-05, 1E-04, 1E-03, 1E-02, 1E-01, 1}, % <=== Siehe hier
      date coordinates in = x,
      xticklabel=\year,
      date ZERO = 2016-01-01
  ]
  \addplot[blue, only marks, mark size = 0.5] coordinates {
    (2016-03-04, 8.27e-11)
    (2017-03-03, 3.30e-10)
    (2018-01-15, 2.22e-10)
    (2019-01-11, 2.47e-10)
    (2020-01-13, 3.69e-10)
    (2021-01-26, 2.55e-10)
  };

  \end{semilogyaxis}
  \end{tikzpicture}

\end{document}
Permanenter link

beantwortet 10 Jul '22, 11:52

dzaic's gravatar image

dzaic
631104953
Akzeptiert-Rate: 42%

bearbeitet 10 Jul '22, 11:54

Stimmt, die eigentliche Ursache für das Fehlen der yminorticks ist, dass bei der Höhe des Diagramms und der Anzahl an Zehnerpotenzen nur für jede zweite Zehnerpotenz ein major tick gesetzt wird. Ich habe meine Antwort jetzt um den Vorschlag ytick distance=10^1 erweitert.

(10 Jul '22, 23:41) esdd
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

gestellte Frage: 06 Jul '22, 12:24

Frage wurde gesehen: 1,695 Mal

zuletzt geändert: 10 Jul '22, 23:41