Tikz 定位在圆圈上方精确对齐

Tikz 定位在圆圈上方精确对齐

如何才能使球b1b2彼此精确对齐?此外,above=1cm of b1.center, anchor=center和所有带有north- southnorth east-的组合south west都不会产生所需的结果。

\documentclass[tikz, margin=1pt]{standalone}
\usetikzlibrary{positioning}
\tikzset{ball/.style={draw, circle, minimum size=.1cm}}

\begin{document}
\begin{tikzpicture}

\begin{scope}[]
    \matrix[nodes={draw, ball}]{
        \node (b1) {b1}; &
        \node (b2) [above=.1cm of b1] {b2}; \\
    };
\end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

您的代码matrix不正确,因为您的节点位于同一行,它们被分隔开,并且矩阵中&只有一个。\\

如果您想使用矩阵,我建议使用以下代码加载matrix库并使用matrix of nodes来简化语法。

但我认为第二种解决方案更好,只需使用above=0pt of ...,你就会得到两个节点,一个在另一个之上。

\documentclass[tikz, margin=1pt]{standalone}
\usetikzlibrary{positioning, matrix}
\tikzset{ball/.style={draw, circle, minimum size=.1cm}}

\begin{document}
\begin{tikzpicture}

    \matrix[matrix of nodes, nodes={draw, ball}, row sep=0pt]{
        b2\\
        b1\\
    };

\end{tikzpicture}

\begin{tikzpicture}
\node[ball] (b1) {b1};
\node[ball, above=0pt of b1] (b2) {b2};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容