
No código a seguir, quero rotular o ponto (1,1) como “P”. (Não é emocionante, eu sei. Faz parte de um gráfico que quero desenhar.) Tenho o código \node[above right, outer sep=2pt] (1,1) {P};
para fazer isso. TikZ
é colocar o rótulo acima e à direita da origem.
Por que o TikZ não está colocando o rótulo acima e à direita de (1,1)?
Eu tenho uma grade colocada no plano cartesiano. Com outer sep=2pt
, eu esperava que parte da grade fosse obscurecida pelo rótulo P. Quero que a letra "P" se destaque no gráfico, e acho que isso aconteceria se algumas das linhas da grade fossem obscurecidas.
\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}
Responder1
Você pode ocultar as linhas de grade atrás do nó usando fill=white
. Você também pode fazer isso se usar um pin
que desenhará uma linha do ponto até o rótulo. Ou você pode usar a label
opção semelhante, mas sem a linha.
\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}