I want to draw the arrows like this picture,
but I get like this, I don't know how to position the arrows in tikz
Could you please help me?
Here's my MWE:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
\tikzstyle{box}=[draw,text width=8em, minimum height=7.5em,thin, align=flush center]
% The comment style
\tikzstyle{comment}=[rectangle, inner sep= 5pt, text width=4cm, node distance=0.25cm]
\tikzstyle{box1}=[draw,text width=11em, minimum height=3.5em,thin,align=flush center]
\tikzstyle{line}=[draw, thick, -latex']
\node (1) [box] {\textbf{Customer}};
\node (2) [box,right=30mm of 1] {\textbf{Merchant}};
\node (3) [box1] at (3.5,-3) {\textbf{Intermediation Server}};
\node (4) [box1] at (3.5,-5) {\textbf{Netbill's Bank}};
\node (5) [box] at (0.5,-8) {\textbf{Customer's Bank}};
\node (6) [box] at (6.5,-8) {\textbf{Merchant's Bank}};
\node [comment, text width=3cm] at (1.5,-10.7) { 1. Request quote\\
2. Present quote\\
3. Accept quote\\
4. Deliver goods };
\node [comment, text width=4cm] at (5.5,-10.9) { 5. Send electronic payement order (EPO)\\
6. Send EPO and key\\
7. Send receipt\\
8. Send receipt };
%arrows
\draw [-latex,thick] (1.north) -- node[right,above] {(1)}(2.north) ;
\draw [-latex,thick] (2) -- node[left,above] {(2)}(1) ;
\draw [-latex,thick] (2.south west) -- node[left] {(6)}(3) ;
\draw [-latex,thick] (3.north east) -- node[right] {(7)}(2) ;
\draw[latex'-latex',thick] (3) -- (4);
\draw[latex'-latex',thick] (4.west) -- node [left] {Account funding} (5);
\draw [-latex,thick] (4) -- node[left,below] {Batch payment}(6) ;
\end{tikzpicture}
\end{document}
Best Answer
You can use
|-
and-|
to draw lines with right angles in them so, for examplewill fix your funding arrow. In addition, I have tried to make the edges for
(6)
and(7)
parallel, I have fixed the end-points for arrow(1)
and I have moved the arrows for(1)
and(2)
down a little usingyshift=-7mm
as I think this looks much nicer:Here's the full code:
You can adapt how I moved arrows
(1)
and(2)
if you want more arrows between the "Customer" and Merchant"By default you can use
A.north
,A.east
,A.south
,A.west
,A.north east
, ...,A.south west
to position the end points of edges to and from nodeA
. You can also useto control the exit and entry angles for curved arrows. If you need more control over the placement of the arrows have a look at the
positioning library
-- see section 17.5.3 of the current tikz/pgf manual (page 229).