You can use the forest
package. A little example (adjust the settings according to your needs):
\documentclass{article}
\usepackage{forest}
\tikzset{
Above/.style={
midway,
above,
font=\scriptsize,
text width=1.5cm,
align=center,
},
Below/.style={
midway,
below,
font=\scriptsize,
text width=1.5cm,
align=center
}
}
\begin{document}
\begin{forest}
for tree={
grow=east,
draw=cyan,
circle,
line width=0.2pt,
parent anchor=east,
child anchor=west,
edge={draw=cyan},
edge label={\Huge\color{black}},
edge path={
\noexpand\path[\forestoption{edge}]
(!u.parent anchor) -- ([xshift=-1.6cm].child anchor) --
(.child anchor)\forestoption{edge label};
},
l sep=2cm,
}
[,rectangle, s sep=35pt,
[,edge label={node[Below]{option1}}
[,edge label={node[Below]{a longer text goes here}}
]
[,edge label={node[Above]{text}}
]
]
[,edge label={node[Above]{option2}}
[,edge label={node[Below]{a longer text goes here}}
]
[,edge label={node[Above]{text}}
]
]
]
\end{forest}
\end{document}
Actually, there are a number of questions with answers which label edges...
This might give you some ideas:
\documentclass[tikz]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={
circle,
black,
draw,
fill=blue!40,
}
[{}
[{}, edge label={node [midway, above left] {B}}
[{}, edge label={node [midway, right] {A}}
[{}, edge label={node [midway, right] {U}}
[,phantom]
[{}, edge label={node [midway, left] {E}}
[{}, edge label={node [midway, left] {R}}, label=below:Bauer
]
[,phantom]
]
[{}, edge label={node [midway, right] {M}}, label=below:Baum
]
[,phantom]
]
[,phantom]
]
[,phantom]
]
[{}, edge label={node [midway, right] {F}}
[{}, edge label={node [midway, right] {E}}
[{}, edge label={node [midway, right] {L}}
[{}, edge label={node [midway, right] {D}}, label=below:Feld
]
[,phantom]
]
[,phantom]
]
[,phantom]
]
[{}, edge label={node [midway, left] {H}}
[{}, edge label={node [midway, left] {A}}
[{}, edge label={node [midway, left] {H}}
[{}, edge label={node [midway, left] {N}}, label=below:Hahn
]
[,phantom]
]
[{}, edge label={node [midway, right] {U}}
[{}, edge label={node [midway, left] {S}}, label=below:Haus
]
[,phantom]
]
[,phantom]
]
[{}, edge label={node [midway, left] {O}}
[{}, edge label={node [midway, right] {F}}, label=below:Hof
]
]
[{}, edge label={node [midway, right] {U}}
[,phantom]
[{}, edge label={node [midway, left] {H}}
[{}, edge label={node [midway, right] {N}}, label=below:Huhn
]
]
[{}, edge label={node [midway, right] {N}}
[,phantom]
[{}, edge label={node [midway, right] {D}}, label=below:Hund
]
]
]
]
[{}, edge label={node [midway, above right] {K}}
[,phantom]
[{}, edge label={node [midway, right] {A}}
[,phantom]
[{}, edge label={node [midway, right] {T}}
[,phantom]
[{}, edge label={node [midway, right] {Z}}
[,phantom]
[{}, edge label={node [midway, right] {E}}, label=below:Katze
]
]
]
]
]
]
\end{forest}
\end{document}
Best Answer
You have to change the
edge from parent
style