zeigen Sie bestimmte kleinere Hilfsstrichbeschriftungen in doppelt logarithmischen PGFPlots an

zeigen Sie bestimmte kleinere Hilfsstrichbeschriftungen in doppelt logarithmischen PGFPlots an

Ich verwende den folgenden Code, um das unten gezeigte Diagramm zu erstellen.

\documentclass[a4paper]{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}%fitting functions
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{pgfplotstable}

\pgfplotsset{compat=1.15}
\pgfplotsset{label style={font=\Large},
            tick label style={font=\Large}}

\begin{document}

\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[
    xmode=log,
    ymode=log,
    enable tick line clipping=false,
    width=9cm,
    height=7cm,
    axis line style=semithick,
    x tick style={black,semithick},
    xmin=1,xmax=100,
    xtick={1,10,100},
    xtick pos=bottom,
    minor x tick num=9,
    xtick align=outside,
    y tick style={black,semithick},
    ymin=0.1,ymax=10,
    ytick={0.1,1,10},
    ytick pos=left,
    minor y tick num=9,
    ytick align=outside,
]        
    \addplot [blue,mark=*,mark options={scale=1.5,blue}]
         table [x=x,y=y] {
         x      y
         2      0.5
         10     1
         50     3
    };

\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

Bildbeschreibung hier eingeben

Wenn ich eine zusätzliche kleine Teilstrichbeschriftung, sagen wir 3, in der Y-Achse anzeigen möchte, indem ich einfach 3 in den Bereich der Y-Achse einfüge, ytick={0.1,1,3,10},wird dieses Diagramm erstellt Bildbeschreibung hier eingeben

Der Tick 10^0,48 ist ein kleiner Tick, aber seine Länge ist irgendwie gleich der Länge des großen Ticks geworden. Und warum sind die restlichen kleinen Ticks verschwunden? Ich habe den Befehl minor y tick num=9,im Code verwendet. Wie kann ich 3 statt 10^0,48 schreiben und jede beliebige Beschriftung für den kleinen Tick hinzufügen, z. B. 0,5 oder 7?

Antwort1

Ich nehme an, Sie suchen nach etwas wie dem Folgenden, richtig?

Beim Hinzufügen nicht äquidistanter Teilstriche verschwinden die automatisch berechneten kleinen Teilstriche. Dies ist ein beabsichtigtes Verhalten (und normalerweise das, was Sie wollen).

% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        xmode=log,
        ymode=log,
        xmin=1,xmax=100,
        ymin=0.1,ymax=10,
        xtick={1,10,100},
        ytick={0.1,1,10},
        xtick pos=bottom,
        ytick pos=left,
        xtick align=outside,
        ytick align=outside,
        tick style={black,semithick},
        % these don't have any effect, because they are the default anyway
%        minor x tick num=9,
%        minor y tick num=9,
        % add an extra tick with the corresponding label
        extra y ticks={3.5},
        extra y tick labels={3.5},
        % and change the style of the tick to the ones of the minor ticks
        extra tick style={
            tickwidth=\pgfkeysvalueof{/pgfplots/minor tick length},
        },
    ]
        \addplot table [x=x,y=y] {
             x      y
             2      0.5
             10     1
             50     3
        };

    \end{axis}
\end{tikzpicture}
\end{document}

Bild, das das Ergebnis des obigen Codes zeigt

verwandte Informationen