新手 Tikz 问题:我想画一个箭头从一个项目符号到另一个项目符号,箭头从项目符号的中心开始并指向项目符号的中心,并且我希望项目符号被标记。这是我的尝试:
\fill(0,1) circle (2pt) node[above] (A) {1}; \fill(1,0) circle (2pt) node[below] (B) {2}; \draw[-latex] (A) edge (B)
问题在于箭头的中心位于项目符号和标签之间。我想我明白为什么会发生这种情况:A 是圆圈上方的一个节点,因此箭头从那里开始。所以也许问题应该是:如何将圆圈变成节点,以及如何标记它?
答案1
像这样吗?
\documentclass[tikz,border=2mm]{standalone}
\begin{document}
\begin{tikzpicture}
\node[circle, draw, label=A] (A) at (0,1) {};
\node[circle, draw, label=B] (B) at (1,0) {};
\draw[<->] (A) -- (B);
\begin{scope}[xshift=2cm]
\node[circle, draw, label=A] (A) at (0,1) {};
\node[circle, draw, label=B] (B) at (1,0) {};
\draw[<->] (A.center) -- (B.center);
\end{scope}
\end{tikzpicture}
\end{document}
Anode
可以采用多种形式。默认形式是,rectangle
但您也可以使用circle
。通过充电shapes
库,您可以获得其他方面:椭圆形、三角形、箭头、正多边形……
如果要在节点上方添加标签,可以使用label
选项。如果要在节点内部添加一些文本,请将文本写入节点的内容部分:{}
。
默认情况下,节点之间的线(或箭头)将在节点的边界处停止:(A)--(B)
。如果要明确连接它们的中心,请使用特定锚点:(A.center)--(B.center)
。