\begin{tikzpicture}[ plant/.style = { draw, thick, minimum width = 1cm, minimum height = 1cm, }, arrow/.style = { -latex, thick, }, ] \matrix [row sep = 4mm, nodes={plant}] { \node [fill=red!10] (U) {$\Delta$}; \\ \node [fill=blue!10] (G) {$G$}; \\ \node [fill=green!10] (K) {$K$}; \\ }; \coordinate (Uz) at (U.west); \coordinate (Uv) at (U.east); \coordinate (Gz) at ($(G.north west) - (0, 2mm)$); \coordinate (Ge) at (G.west); \coordinate (Gy) at ($(G.south west) + (0, 2mm)$); \coordinate (Gv) at ($(G.north east) - (0, 2mm)$); \coordinate (Gw) at (G.east); \coordinate (Gu) at ($(G.south east) + (0, 2mm)$); \coordinate (Ky) at (K.west); \coordinate (Ku) at (K.east); \begin{scope}[arrow] \draw (Gz) -- ++(-1cm, 0) |- (Uz) node[left, pos=.25] {$z$}; \draw (Ge) -- ++(-1cm, 0) -- ++(-5mm, 0) node[left] {$e$}; \draw (Gy) -- ++(-1cm, 0) |- (Ky) node[left, pos=.25] {$y$}; \draw (Uv) -- ++(1cm, 0) |- (Gv) node[right, pos=.25] {$v$}; \draw (Gw) ++(15mm, 0) node[right] {$w$} -- (Gw); \draw (Ku) -- ++(1cm, 0) |- (Gu) node[right, pos=.25] {$u$}; \end{scope} \end{tikzpicture}