创建双旋转箭头的最好和最简单的方法是什么?

创建双旋转箭头的最好和最简单的方法是什么?

我正在尝试绘制一个双 90 度旋转箭头,连接 tikz 矩阵中的两个节点

以下是我想要做的事情:

在此处输入图片描述

但是我不确定如何解决这样的问题。

我尝试创建一个包含未绘制节点的节点矩阵。

因此,在上面的例子中,名为 A 的节点需要连接到名为 a 的不可见节点。然后需要在两个不可见节点之间画一条线。因此从 a 到 b。最后从 b 到 B 画一条线。

这是我的问题:

创建双旋转箭头的最好和最简单的方法是什么?

据我了解,有三种方法可以在 tikz 矩阵中的两个节点之间创建双旋转箭头

  1. 创建一个矩阵,其中一行包含不可见的节点。然后用线连接节点。

  2. 使用 calc 包找到要连接的正确坐标。(不确定如何做到这一点)。

  3. 使用带链的作用域。(同样不知道该怎么做。)

这是我的代码:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
                backgrounds,
                fit,
                matrix,
                positioning,
                shadows}     


% My tikz picture

\begin{tikzpicture}

\matrix(a)[matrix of nodes , nodes in empty cells,
nodes = {font = \small , rectangle , align = center , text width = 2cm , minimum size = 1cm},
row sep = {2cm , between origins} , 
column sep = {4cm , between origins}]{
% Matrix begins here.
& |[draw]|Documents  &  & \\
& &  & \\
|[draw]| Directory document    &    |[draw]| Water document   & |[draw]| Data document\\
};


%%%%%Draw arrow lines;


\draw[-{Stealth[length=4mm]}] (a-1-2) -- (a-3-2);

\draw (a-2-2) -- (a-2-3);

\draw [-{Stealth[length=4mm]}](a-2-3) -- (a-3-3);


\end{tikzpicture}

我的输出是:

在此处输入图片描述

答案1

如果你想修复你的代码,你可以从节点的中心而不是边缘绘制箭头:

\draw (a-2-2.center) -- (a-2-3.center);
\draw [-{Stealth[length=4mm]}](a-2-3.center) -- (a-3-3);

为了使事情变得简单,您可以使用库|-|中的路径运算符ext.paths.ortho

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{ext.paths.ortho}

\begin{document}

\begin{tikzpicture}
\node[draw] (a) at (0,0) {Documents};
\node[draw,below right=of a] (b) {Data};

\draw[->] (a) |-| (b);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容