Wie kann man die X-Koordinaten eines Punkts als zusätzliche X-Markierungen einfügen?

Wie kann man die X-Koordinaten eines Punkts als zusätzliche X-Markierungen einfügen?

Ich muss die X-Koordinaten eines Punkts als zusätzliche X-Markierungen eingeben, aber die übliche Vorgehensweise ist irrational, da es viele Punkte geben kann und deren Duplizierung extra x ticksschlecht ist.

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}

    \begin{document}

    %---------------------------------------------------------

            \begin{tikzpicture}[
                ]
                \begin{axis}[
                    width=\linewidth, axis lines = middle,
                    extra x ticks = {1.1, 2.2,3.3}, % irrational decision, because there can be many points
                    xtick=data,
                ]
                \addplot[] {x};
                \addplot[color=red,mark=*, only marks] coordinates {
                        (1.1,1)
                        (2.2,2)
                        (3.3,3)
                    };
                \end{axis}
            \end{tikzpicture}

    %---------------------------------------------------------
    \end{document}

Antwort1

Wenn Sie tun

xtick=data, % data points from first \addplot
extra x ticks={-4,...,4} % regularly spaced ticks

Sie erhalten Markierungen für jeden Punkt im ersten \addplotund zusätzlich Markierungen in regelmäßigen Abständen. Das kann allerdings etwas chaotisch werden. Eine Möglichkeit, sie zu trennen, wäre, die Koordinatenmarkierungen nach unten zu verschieben, d. h.

xticklabel style={yshift=-15pt},
extra x tick style={tick label style={yshift=15pt}}

Die zweite Zeile ist erforderlich, da die erste auch die zusätzlichen Ticklabels beeinflusst.

Wenn Sie beispielsweise die Optionen eines nodes near coordshinzufügen, werden die x-Werte neben den Punkten in diesem Diagramm hinzugefügt. Der folgende Code demonstriert beides.point meta=x,nodes near coords\addplot

Bildbeschreibung hier eingeben

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}

    \begin{document}

    %---------------------------------------------------------

            \begin{tikzpicture}[
                ]
                \begin{axis}[
                    width=\linewidth, 
                    axis lines = middle,
                    xtick=data, % data points from first \addplot
                    extra x ticks={-4,...,4}, % regularly spaced ticks
                    xticklabel style={yshift=-15pt},
                    extra x tick style={tick label style={yshift=15pt}}
                ]
                \addplot[color=red,mark=*,
                         only marks,
                         point meta=x, % use x-value for nodes near coords
                         nodes near coords
                        ] coordinates {
                        (1.1,1)
                        (2.2,2)
                        (3.3,3)
                    };
                \addplot[] {x};

                \end{axis}
            \end{tikzpicture}

    %---------------------------------------------------------
    \end{document}

verwandte Informationen