[Tex/LaTex] How to change text position and angle on the arrows, and how to change the position of boxes in TikZ

tikz-pgf

I am using TikZ for making path diagram. Code is given below

\documentclass[landscape]{article}

\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\pagestyle{empty}


% Define block styles
\tikzstyle{decision} = [diamond, draw, fill=blue!20, 
    text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt]
\tikzstyle{block} = [rectangle, draw, fill=blue!20, 
    text width=6em, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']
\tikzstyle{cloud} = [draw, ellipse,fill=red!20, node distance=3cm,
    minimum height=2em]
\begin{tikzpicture}[node distance = 3cm, auto][bend angle=45]
\node [block] (sq1) {PM};
\node [block, below of=sq1] (sq2) {KP};
\node [block, below of=sq2] (sq3) {TKW};
\node [block, left of=sq1,node distance=7cm] (sq4) {PM.GMXTD};
\node [block, left of=sq2,node distance=7cm] (sq5) {KP.GHM};
\node [block, left of=sq3,node distance=7cm] (sq6) {PM.GPRF};
\node [block, below of=sq6] (sq7) {KP.GMNTD};
\node [block, right of=sq2,node distance=7cm] (sq8) {Yield};
\path [line] (sq4) -- node {0.35}(sq1);
\path [line] (sq5) -- node {0.232}(sq2);
\path [line] (sq6) -- node {0.393}(sq3);
\path [line] (sq7) -- node {0.26}(sq3);
\path [line] (sq1) -- node {0.807}(sq8);
\path [line] (sq2) -- node {1.189}(sq8);
\path [line] (sq3) -- node {0.653}(sq8);
\path [line] (sq2) -- node {-0.926}(sq3);
\path [line] (sq1) -- node {-0.65}(sq2);
\path [line] (sq1) to [bend left=45] node {-0.528}(sq3);
\path [line] (sq4) to [bend left=45] node {0.158}(sq8);
\path [line] (sq7) to [bend right=45] node {0.207}(sq8);
\path [line] (sq5) to [bend left=55] node {0.456}(sq8);
\end{tikzpicture}
\end{document}

enter image description here

I have following three questions.

1) Is it possible to change the text position along the arrows?

2) Is it possible to rotate the text along the arrow?

3) Is it possible that i can draw a box on the left middle of two boxes?

Thanks in advance.

Best Answer

for text position use [pos=0.xxx]

\begin{tikzpicture}[node distance = 3cm, auto][bend angle=45]
\node [block] (sq1) {PM};
\node [block, below of=sq1] (sq2) {KP};
\node [block, below of=sq2] (sq3) {TKW};
\node [block, left of=sq1,node distance=7cm] (sq4) {PM.GMXTD};
\node [block, left of=sq2,node distance=7cm] (sq5) {KP.GHM};
\node [block, left of=sq3,node distance=7cm] (sq6) {PM.GPRF};
\node [block, below of=sq6] (sq7) {KP.GMNTD};
\node [block, right of=sq2,node distance=7cm] (sq8) {Yield};
\path [line] (sq4) -- node[pos=0.3] {0.35}(sq1);
\path [line] (sq5) -- node[pos=0.1] {0.232}(sq2);
\path [line] (sq6) -- node[pos=0.8] {0.393}(sq3);
\path [line] (sq7) -- node {0.26}(sq3);
\path [line] (sq1) -- node {0.807}(sq8);
\path [line] (sq2) -- node {1.189}(sq8);
\path [line] (sq3) -- node {0.653}(sq8);
\path [line] (sq2) -- node {-0.926}(sq3);
\path [line] (sq1) -- node {-0.65}(sq2);
\path [line] (sq1) to [bend left=45] node[pos=0.4] {-0.528}(sq3);
\path [line] (sq4) to [bend left=45] node {0.158}(sq8);
\path [line] (sq7) to [bend right=45] node {0.207}(sq8);
\path [line] (sq5) to [bend left=55] node[pos=0.4] {0.456}(sq8);
\end{tikzpicture}

for rotate, use sloped

\path [line] (sq1) -- node[sloped] {0.807}(sq8);