![使用 tikz 在节点之间绘制箭头](https://linux22.com/image/313869/%E4%BD%BF%E7%94%A8%20tikz%20%E5%9C%A8%E8%8A%82%E7%82%B9%E4%B9%8B%E9%97%B4%E7%BB%98%E5%88%B6%E7%AE%AD%E5%A4%B4.png)
我画了 4 个节点
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[node distance=2cm]
% nodes
\node [draw] (A) {A};
\node [draw, right=of A] (B) {B};
\node [draw, right=of B] (C) {C};
\node [draw, right=of C] (D) {D};
% arrows
\draw [->] (A) -- (B) -- (C) -- (D);
\end{tikzpicture}
\end{document}
我正在尝试在每个节点之间画一个箭头。
如果我使用
\draw [->] (A) -- (B) -- (C) -- (D);
我得到了每个节点之间的线,但只有一个从 C 到 D 的箭头。
我可以在一行中在所有节点之间画箭头吗?
答案1
edge
可以用来把箭头放在一个\draw
命令中:
\draw [->] (A) edge (B) (B) edge (C) (C) edge (D);
也可以通过选项使用-|
as path for :edge
to path
\documentclass[tikz,border=5pt]{standalone}
\begin{document}
\begin{tikzpicture}[node distance=2cm]
% nodes
\node (A) at (0, 0) {A};
\node (B) at (1, 1) {B};
\node (C) at (2, 1.5) {C};
\node (D) at (3, 0) {D};
% arrows
\draw[->, to path={-| (\tikztotarget)}]
(A) edge (B) (B) edge (C) (C) edge (D);
\end{tikzpicture}
\end{document}