如何才能将一个节点精确地放置在另一个节点的中心之上,以便两个节点的中心重叠?
在下面的例子中,节点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}