TikZ:绘制连接形状边框的线

TikZ:绘制连接形状边框的线

我是 TikZ 的新手,正在尝试绘制几个由线连接的(带标签的)圆圈。最简单的形式是,我通过以下方式进行操作

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
\draw (0,0) circle [radius=0.5] node (A) {A};
\draw (2,2) circle [radius=0.5] node (B) {B};
\draw (A) -- (B);
\end{tikzpicture}

\end{document}

然而,连接线到达里面我不希望它做的圈子: 图像

我怎样才能使线仅从边界延伸到边界?

答案1

正如 percusse 所评论的,您可以绘制圆形节点。

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
\node[circle,draw, minimum size=1cm] (A) at  (0,0) {A};
\node[circle,draw, minimum size=1cm] (B) at  (2,2)  {B};
\draw (A) -- (B);
\end{tikzpicture}

\end{document}

在此处输入图片描述

您的代码也可以工作,但问题在于您如何定义节点。我添加了draw,red样式以更好地查看发生了什么:

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
\draw (0,0) circle [radius=0.5] node[draw,red] (A) {A};
\draw (2,2) circle [radius=0.5] node[draw,red] (B) {B};
\draw (A) -- (B);
\end{tikzpicture}

\end{document}

在此处输入图片描述

如您所见,您正在绘制两个圆圈,其中的矩形节点尚未绘制。命令\draw (A)--(B)正常工作,它停止在节点边界上绘制,但不会像您预期的那样停止在圆圈边界上绘制。

答案2

PSTricks 解决方案使用pst-node包裹:

\documentclass{article}

\usepackage{pst-node}

\begin{document}

\begin{pspicture}(-0.35,-0.35)(3,3) % adjust the bounding box manually according to the contents of the pspicture environment
  \cnodeput(0.5,0.5){A}{Mammal}
  \cnodeput(2.5,2.5){B}{Fish}
  \ncline{A}{B}
\end{pspicture}

\end{document}

输出

相关内容