我需要减少注释文本和线之间的距离,它们一起构成 pgfplots 中的常规图钉,见下图。有人能帮我吗?
梅威瑟:
\begin{tikzpicture}
\begin{axis}[
xlabel={$X$},
ylabel={$Y$},
]
\addplot [domain=0:10, ]{x};
\node[coordinate, pin={[fill=white, pin distance = 5 mm]120:{A}}]
at (axis cs:5,5) {};
\end{axis}
\end{tikzpicture}
答案1
TiKZ
(和)中的所有文本pgfplots
都用 定义,并且所有节点的文本边框和节点边框之间nodes
都有一些。您可以在已绘制节点边框的节点中看到它。inner sep
A
这inner sep
可以固定为任意值。inner sep=0pt
消除节点边框和文本(图中的节点B
和C
)之间的所有距离。
\documentclass[border=3mm,tikz]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel={$X$},
ylabel={$Y$},
]
\addplot [domain=0:10, ]{x};
\node[coordinate, pin={[fill=white, pin distance = 5 mm, draw]120:{A}}]
at (axis cs:4,4) {};
\node[coordinate, pin={[fill=white, pin distance = 5 mm, draw, inner sep=0pt]120:{B}}]
at (axis cs:5,5) {};
\node[coordinate, pin={[fill=white, pin distance = 5 mm, inner sep=0pt]120:{C}}]
at (axis cs:6,6) {};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
因此,通过减少 pin 的节点内部 sep,问题已经得到解决:
pin={[fill=white, pin distance = 5 mm, inner sep=0pt]120:{A}}]
非常感谢@Ignasi 的评论!干杯!