I used this answer to create a similar tree: https://tex.stackexchange.com/a/256753/175628
However the arrows do not align: with the joining lines:
Here is the forest code:
\begin{figure}[H]
\begin{center}
\begin{forest}
for tree={
align=center,
parent anchor=south,
child anchor=north,
font=\sffamily,
edge={thick, -{Stealth[]}},
l sep+=10pt,
edge path={
\noexpand\path [draw, \forestoption{edge}] (!u.parent anchor) -- +(0,-10pt) -| (.child anchor)\forestoption{edge label};
},
if level=0{
inner xsep=0pt,
tikz={\draw [thick] (.south east) -- (.south west);}
}{}
}
[Graphical User Interface
[\textbf{Drawing Functions}, name=A
[\textbf{Plot Pane}
[\textbf{Layer System}
[\textbf{Draw onto Canvas}]
[\textbf{Clear the Canvas}]
[\textbf{Bind Properties}]
]
]
]
[Shared Layer Access, name=C]
[Inputing Functions, name=B
[Add Functions]
[Remove Functions]
[Modify Functions]
]
]
\draw[-latex] (A) to[out=east,in=west] (C);
\draw[-latex] (B) to[out=west,in=east] (C);
\end{forest}
\end{center}
\caption{Graphical User Interface Hierarchical Diagram}
If the preamble is needed I will post it but it is the most horrible thing I have mashed together.