我正在尝试创建一个从一个节点开始并在另一个节点结束的弯曲箭头。我尝试使用 arc 命令执行此操作,但绘制的弧与它应该连接的节点重叠。MWE 和下面的图片:
\documentclass{report}
\usepackage{pgfplots}
\usetikzlibrary{shapes}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}[nodes={draw, thick, fill=black!20}]
\node[circle] (F3) at (4,6) {F3};
\node[circle] (F2) at (4,4) {F2};
\node[circle] (F1) at (2,4) {F1};
\node[diamond] (T1) at (0,4) {T1};
\node[circle] (F4) at (6,4) {F4};
\node[diamond] (T2) at (4,8) {T2};
\foreach \from/\to in {F1/F2,F2/F3,F2/F4}
\draw (\from)--(\to);
\foreach \from/\to in {T1/F1,T2/F3}
\draw[dashed] (\from)--(\to);
\draw[->] (4,8) arc (90:180:4);
\end{tikzpicture}
\end{figure}
\end{document}
我希望实现的是,箭头从标有 T2 的菱形的“西”点开始,到标有 T1 的菱形的“北”点结束。有没有好的方法来实现这一点?稍后,我还想使用相同的规则从 F3 到 F1 添加一个箭头。
答案1
您可以使用bend
钥匙
\foreach \from/\to in {T2/T1,F3/F1}
\draw[bend right=45] (\from.west) to (\to.north);