如何将一个节点堆叠在另一个节点的中心之上?

如何将一个节点堆叠在另一个节点的中心之上?

如何才能将一个节点精确地放置在另一个节点的中心之上,以便两个节点的中心重叠?

在下面的例子中,节点two应该位于绿色节点的中心one

\begin{tikzpicture}
    \node (one) [circle, fill=green, scale=10] {};

   % The following does not work.
   % pgfkeys complains I do not know the key '/tikz/center of'
   \node (two) [center of=one] {Hi};
\end{tikzpicture}

答案1

类似于

\node (two) [blah…] at (one.center) { text-content };

应该可以解决问题。

基于 tikzpgfmanual.pdf 中的“13.5 使用锚点放置节点”(第 123 页左右)。

答案2

TikZ 尚未定义定位center。在您期望它工作的上下文中,您应该使用at。例如:

\documentclass[tikz, margin=3mm, many]{standalone}

\begin{document}
\begin{tikzpicture}
    \node (zero) [circle, fill=green] {};
    \node (one) [circle, fill=red, scale=5] at (3,0) {};
    \node (two) [at={(one)}] {Hi};  % <---
% or simpler
    \node (one) [circle, fill=cyan, scale=5] at (6,0) {};
    \node (two) at (one) {Hi};      % <---
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容