I currently have a weird mix of tree and alone nodes (so the path between nodes is customized)
I want the nodes to be horizontally aligned at the top and vertically aligned at the left in TikZ.
Here's the code:
\documentclass[utf8]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning,trees}
\definecolor{couleurttr}{HTML}{3366FF}
\definecolor{couleurobj}{HTML}{33CCCC}
\definecolor{couleurspf}{HTML}{A7E9E9}
\begin{document}
\fontsize{8}{5} \selectfont
\tikzset{
basic/.style={draw, text width=15em, rectangle},
titre/.style={basic, rounded corners=2pt, thick, align=center, fill=couleurttr},
objectif/.style={basic, rounded corners=6pt, thick, align=center, anchor=north, fill=couleurobj, align=center, text width=8em},
specification/.style={basic, rounded corners=2pt, thin, align=left, anchor=center, fill=couleurspf, text width=6.5em}
}
\begin{tikzpicture}[level distance=4em,level 1/.style={sibling distance=10em},
edge from parent path={(\tikzparentnode.south) |- (0em,2em) -| (\tikzchildnode.north)},
edge from parent/.style={->,draw}
]
\node [titre] {\textbf{Projet Fish \& Chips}}
child {node [objectif] (o1) {\textbf{Faciliter la communication à distance}}}
child {node [objectif] (o2) {\textbf{Maximiser la sécurité}}}
child {node [objectif] (o3) {\textbf{Optimiser l’automatisation}}}
child {node [objectif] (o4) {\textbf{Optimisation de la prise de données}}}
child {node [objectif] (o5) {\textbf{Optimiser le stockage}}}
child {node [objectif] (o6) {\textbf{Respecter le coût global et l’échéancier}}}
;
\begin{scope}[every node/.style=specification]
\node [below=of o1] (o11) {Accumuler des données de qualité};
\node [below=of o11] (o12) {Fournir un capteur qui facilite l'identification};
\node [below=of o12] (o13) {Identifier un grand nombre d'espèces};
\node [below=of o13] (o14) {Maximiser l'exactitude de l'identification};
\node [below=of o14] (o15) {Respecter les exigences physiques du capteur};
\node [below=of o2] (o21) {Faciliter l'accès à distance};
\node [below=of o21] (o22) {Fournir un accès à distance efficace};
\node [below=of o3] (o31) {Limiter l'accès aux personnes authorisées};
\node [below=of o31] (o32) {Chiffrer les communications};
\node [below=of o32] (o33) {Fournir deux niveaux d'alarmes};
\node [below=of o4] (o41) {Limiter l'accès aux personnes authorisées};
\node [below=of o41] (o42) {Chiffrer les communications};
\node [below=of o42] (o43) {Fournir deux niveaux d'alarmes};
\node [below=of o5] (o51) {Limiter l'accès aux personnes authorisées};
\node [below=of o51] (o52) {Chiffrer les communications};
\node [below=of o6] (o61) {Limiter l'accès aux personnes authorisées};
\node [below=of o61] (o62) {Chiffrer les communications};
\node [below=of o62] (o63) {Fournir deux niveaux d'alarmes};
\end{scope}
\foreach \value in {1,...,5}
\draw[->] (o1.west) -| ++(-0.5em,0em) |- (o1\value.west);
\foreach \value in {1,2}
\draw[->] (o2.west) -| ++(-0.5em,0em) |- (o2\value.west);
\foreach \value in {1,...,3}
\draw[->] (o3.west) -| ++(-0.5em,0em) |- (o3\value.west);
\foreach \value in {1,...,3}
\draw[->] (o4.west) -| ++(-0.5em,0em) |- (o4\value.west);
\foreach \value in {1,2}
\draw[->] (o5.west) -| ++(-0.5em,0em) |- (o5\value.west);
\foreach \value in {1,...,3}
\draw[->] (o6.west) -| ++(-0.5em,0em) |- (o6\value.west);
\end{tikzpicture}
\end{document}
Here's how it looks:
I want the light blue nodes to be aligned.
Here's how they should be aligned:
PS, I'm sorry, the text is in French.





