[Tex/LaTex] Label on arrows in smartdiagram


I have a flow diagram made using smartdiagram . It produces the diagram as shown below:

enter image description here

I want to add some text labels to the arrows, to appear something like this:

enter image description here

How can this be achieved within smartdiagram or otherwise?

MWE is appended below:

\smartdiagram[flow diagram]{D, IP, V}

Best Answer

I think smartdiagram only makes sense if you stick to the implemented designs; smartdiagram doesn't seem to support arrow labels.

I suggest to use "plain" tikz (which isn't so plain anyway), as it is more flexible.

enter image description here

    {rectangle,rounded corners,drop shadow,minimum height=1cm,
     minimum width=2cm,align=center,fill=#1,draw=colBorder,line width=1pt
    {draw=#1,line width=3pt,-stealth,rounded corners
  \node[mybox=colD] (D) {D};
  \node[mybox=colIP,below=of D] (IP) {IP};
  \node[mybox=colV,below=of IP] (V) {V};
  \draw[myarrow=colIP] (D) -- (IP);
  \draw[myarrow=colV] (IP) -- (V);
  \draw[myarrow=colD] (V.east) -- +(0.7,0) coordinate (VD1)
    -- (VD1|-D) coordinate (VD2) -- (D);
  \path (D) -- node[mylabel=colIP,left]{Process 1} (IP);
  \path (IP) -- node[mylabel=colV,left]{Process 2} (V);
  \path (VD1) -- node[mylabel=colD,right]{Process 3} (VD2);
Related Question