
В следующем коде я хочу обозначить точку (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}