Latex Tikzpicture fügt Hierarchiezweigen Beschriftungen hinzu

Latex Tikzpicture fügt Hierarchiezweigen Beschriftungen hinzu

Ich habe eine Hierarchie:

\begin{figure}[!h]
\begin{center}
\resizebox{\textwidth}{!}{%
\begin{tikzpicture}[level 1/.style={sibling distance=7cm},
level 2/.style={sibling distance=2cm}, 
level 3/.style={sibling distance=2.5cm}, align = flush center]
    \tikzstyle{every node}=[draw,rectangle]

    \node {Root}
        [style=edge from parent fork down]
        child { 
            node {1} 
            child {node {1.1} 
                child {node {1.1.1} }
                child {node {1.1.2} }
                child {node {1.1.3} }
                }
            child {node {1.2}}
            child {node {1.3}}
        }
        child { 
            node {2} 
            child {node {2.1}}
            child {node {2.2} 
                child {node {2.2.1} }
                child {node {2.2.2} }
                child {node {2.2.3} }
                }
            child {node {2.3}}
        }
    ;
\end{tikzpicture} 
}
\end{center}
\end{figure}

Ich habe mich gefragt, wie ich mein Latex ändern kann, damit einige Zweige der Figur beschriftet sind. So würde sich beispielsweise das Wort „links“ auf dem Zweig zwischen „Wurzel“ und „1“ befinden und das Wort „rechts“ auf dem Zweig zwischen „Wurzel“ und „2“. Danke.

Antwort1

Dies ist mit möglich edge from parent node. Beachten Sie, dass dies \tikzstyleveraltet ist.

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{trees}
\begin{document}
\begin{tikzpicture}[level 1/.style={sibling distance=7cm},
level 2/.style={sibling distance=2cm}, 
level 3/.style={sibling distance=2.5cm}, align = flush center]
\tikzset{every node/.append style={draw,rectangle}}

    \node {Root}
        [style=edge from parent fork down]
        child { 
            node {1}    
            child {node {1.1} 
                child {node {1.1.1} }
                child {node {1.1.2} }
                child {node {1.1.3} }
                }
            child {node {1.2}}
            child {node {1.3}}
        edge from parent node[pos=0.25,above,draw=none]{left}%<-added
        } 
        child { 
            node {2} 
            child {node {2.1}}
            child {node {2.2} 
                child {node {2.2.1} }
                child {node {2.2.2} }
                child {node {2.2.3} }
                }
            child {node {2.3}}
        edge from parent node[pos=0.25,above,draw=none]{right}%<-added
        }
    ;
\end{tikzpicture} 
\end{document}

Bildbeschreibung hier eingeben

Mit Wald wird dieses Unterfangen wohl einfacher.

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={grow=south,draw,s sep=2em},
forked edges
[Root
 [1,edge label={node[pos=0.35,above]{left}}
  [1.1
   [1.1.1]
   [1.1.2]
   [1.1.3]
  ]
  [1.2] 
  [1.3] 
 ]
 [2,edge label={node[pos=0.35,above]{right}}
  [2.1]
  [2.2
   [2.2.1]
   [2.2.2]
   [2.2.3]
  ] 
  [2.3] 
 ]
] 
\end{forest}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen