I am trying to draw a simple vertical tree to represent a hierarchical partition of a graph in communities. I have written some code to draw it in tikz, but I am not very satisfied of the result. My code is:
\begin{tikzpicture}[shorten >=1pt, auto, node distance=3cm, ultra thick,
node_style/.style={font=\sffamily\Large\bfseries,minimum size=0.7cm},
edge_style/.style={draw=blue, ultra thick},
community_label_style/.style= {font=\sffamily\Large\bfseries,minimum size=0.7cm,text height=1.5ex,text depth=.25ex,}]
\node[community_label_style] (v15) at (0,-4) {\emph{a}};
\node[community_label_style] (v16) at (1,-4) {b};
\node[community_label_style] (v17) at (3,-4) {c};
\node[community_label_style] (v18) at (4,-4) {d};
\node[community_label_style] (v19) at (8,-4) {e};
\node[community_label_style] (v20) at (9,-4) {f};
\node[community_label_style] (v21) at (11,-4) {g};
\node[community_label_style] (v22) at (12,-4) {h};
\node (v1) at (6,1) {};
\node[community_label_style] (v13) at (1,-2) {$C2$};
\node[community_label_style] (v7) at (9,-2) {$C6$};
\node (v2) at (6,0) {};
\draw (v1) edge (v2);
\node[community_label_style] (v3) at (2,0) {$C1_2$};
\node[community_label_style] (v4) at (10,0) {$C2_2$};
\node[community_label_style] (v11) at (4,-2) {$C4$};
\draw (v2) edge (v3);
\draw (v2) edge (v4);
\node (v5) at (2,-2) {};
\node[community_label_style] (v12) at (3,-2) {$C3$};
\node[community_label_style] (v14) at (0,-2) {$C1$};
\node (v6) at (10,-2) {};
\node[community_label_style] (v9) at (11,-2) {$C7$};
\node[community_label_style] (v10) at (12,-2) {$C8$};
\node[community_label_style] (v8) at (8,-2) {$C5$};
\draw (v3) edge (v5);
\draw (v4) edge (v6);
\draw (v6) edge (v7);
\draw (v7) edge (v8);
\draw (v6) edge (v9);
\draw (v9) edge (v10);
\draw (v11) edge (v12);
\draw (v12) edge (v5);
\draw (v5) edge (v13);
\draw (v13) edge (v14);
\draw (v15) edge (v14);
\draw (v16) edge (v13);
\draw (v17) edge (v12);
\draw (v18) edge (v11);
\draw (v19) edge (v8);
\draw (v20) edge (v7);
\draw (v21) edge (v9);
\draw (v22) edge (v10);
\draw (v13) edge (v12);
\draw (v7) edge (v9);
\draw (v4) edge (v3);
\end{tikzpicture}
The result is:
I don't like that lines are separed by white dots. I would like to draw a more elegant representation. Is it possible? How could I improve my drawing?
Thank you for your help.
[shorten >=-4pt]
to the edges you would like to be longer, for example\draw[shorten >=-4pt] (v3) edge (v5);
. Also, how exactly would you like to improve your drawing, specifically?