Маркировка точки с помощью TikZ

Маркировка точки с помощью TikZ

В следующем коде я хочу обозначить точку (1,1) как «P». (Я знаю, это не очень интересно. Это часть графика, который я хочу нарисовать.) У меня есть код, который \node[above right, outer sep=2pt] (1,1) {P};делает это. TikZОн помещает метку выше и правее начала координат.

Почему TikZ не размещает метку выше и правее (1,1)?

У меня есть сетка, размещенная на декартовой плоскости. При использовании outer sep=2ptя ожидал, что часть сетки будет скрыта меткой P. Я хочу, чтобы буква «P» выделялась на графике, и я думаю, что она будет выделяться, если некоторые линии сетки будут скрыты.

\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{shapes,positioning,intersections,quotes}


\begin{document}

\begin{tikzpicture}
\draw[yellow] (-1.25,-1.25) grid[xstep=0.5, ystep=0.5]  (2.25,2.25);
\draw[draw=gray!30,latex-latex] (0,2) +(0,0.5cm) node[above right] {$y$} -- (0,-1) -- +(0,-0.5cm);
\draw[draw=gray!30,latex-latex] (-1,0) +(-0.5cm,0) -- (2,0) -- +(0.5cm,0) node[below right] {$x$};
\filldraw (1,1) circle[radius=1.5pt];
\node[above right, outer sep=2pt] (1,1) {P};
\end{tikzpicture}

\end{document}

решение1

Вы можете скрыть линии сетки за узлом, используя fill=white. Вы также можете сделать это, если используете , pinкоторый нарисует линию от точки до метки. Или вы можете использовать labelопцию , которая похожа, но без линии.

\documentclass[tikz,border=5pt]{standalone}

\usetikzlibrary{shapes,positioning,intersections,quotes}

\begin{document}

  \begin{tikzpicture}
    \draw[yellow] (-1.25,-1.25) grid[xstep=0.5, ystep=0.5]  (2.25,2.25);
    \draw[draw=gray!30,latex-latex] (0,2) +(0,0.5cm) node[above right] {$y$} -- (0,-1) -- +(0,-0.5cm);
    \draw[draw=gray!30,latex-latex] (-1,0) +(-0.5cm,0) -- (2,0) -- +(0.5cm,0) node[below right] {$x$};
    \filldraw (1,1) circle[radius=1.5pt];
    \node [fill, draw, circle, minimum width=3pt, inner sep=0pt, pin={[fill=white, outer sep=2pt]135:P}] at (.5,1) {};
    \node[above right=10pt of {(1,1)}, outer sep=2pt,fill=white] {P};
  \end{tikzpicture}

\end{document}

маркировка узлов

Связанный контент