Tikz 四组

Tikz 四组

我的目标是制作如下流程图这里但是我无法添加这四个框并将顶部框放在中间。另请注意,顶部框应该是一个完整的框。如果可以的话,请帮忙!

我尝试添加这但结果不正确。代码如下:

     [,name=Parent
   [,name=Parent1
    [,no edge,name=Child1
      [,no edge,name=GrandChild1]
    ]  
    [,no edge,name=Child2
      [,no edge,name=GrandChild2]
    ]  
    [,no edge,name=Child3
      [,no edge,name=GrandChild3]
    ]  
    [,no edge,name=Child4
      [,no edge,name=GrandChild4]
    ]  
  ] ]
**\draw[->] (Parent.west) -| (Parent1.north);**  

答案1

这是一种可能性:让森林放置盒子,抑制边缘,然后绘制它们。

\documentclass[tikz,margin=5mm]{standalone}
\usetikzlibrary{calc}
\usepackage{forest}
\begin{document}
\tikzset{>=latex}
\begin{forest}
for tree={inner sep=2pt,outer
sep=0pt,align=center,font=\sffamily\footnotesize,draw,minimum width=3cm,
minimum height=0.5cm},
  [,name=Parent
    [,no edge,name=Child1
      [,no edge,name=GrandChild1]
    ]  
    [,no edge,name=Child2
      [,no edge,name=GrandChild2]
    ]  
    [,no edge,name=Child3
      [,no edge,name=GrandChild3]
    ]  
    [,no edge,name=Child4
      [,no edge,name=GrandChild4]
    ]  
  ]
\draw[->] (Parent.west) -| (Child1.north);  
\coordinate (x2) at ($(Child2.north)!0.5!(Child2.north east)$);
\draw[->] (Parent.south -| x2) -- (x2);  
\coordinate (x3) at ($(Child3.north)!0.5!(Child3.north west)$);
\draw[->] (Parent.south -| x3) -- (x3);  
\draw[->] (Parent.east) -| (Child4.north);  
\foreach \X in {1,...,4}
{\draw[->] (Child\X) -- (GrandChild\X);}
\end{forest}
\end{document}

在此处输入图片描述

请注意,你也可以在森林中完成整个事情,例如这里,但我想说的是,这需要付出更多努力。

相关内容