Posicionamiento de nodos en relación con nodos del diseño de árbol binario

Posicionamiento de nodos en relación con nodos del diseño de árbol binario

Descubrí que el posicionamiento relativo no funciona si uso un diseño gráfico. Considere el siguiente ejemplo:

\documentclass{article}
\usepackage{tikz}

\usetikzlibrary{
    graphdrawing
  , graphs
  , positioning
  }
\usegdlibrary{trees}

\begin{document}
    \begin{tikzpicture}[binary tree layout]
        \graph {
            n0 -> {n1, n2};
        };
        \node [left = of n0] {left of n0};
    \end{tikzpicture}
\end{document}

Produce el siguiente resultado inesperado.

ingrese la descripción de la imagen aquí

Prácticamente todo lo relacionado con la ubicación no funciona. Se puede decir at (n0.center)que el último nodo terminará en el mismo lugar. ¿Cómo puedo colocar nodos en relación con los nodos en el gráfico?

Respuesta1

Estás pasando binary tree layoutal tikzpicturemedio ambiente. Si lo mueve a una opción que se pasa a \graph, como esta: \graph[binary tree layout], su código funciona.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{tikz}

\usetikzlibrary{
    graphdrawing
  , graphs
  , positioning
  }
\usegdlibrary{trees}

\begin{document}
    \begin{tikzpicture}%[binary tree layout]
        \graph[binary tree layout] {
            n0 -> {n1, n2};
        };
        \node[left= of n0] {left of n0};
    \end{tikzpicture}
\end{document} 

Respuesta2

Puedes hacer esto con la biblioteca de árboles. Puede posicionar los nodos dándoles el nombre del nodo.

El código es

\documentclass{article} 
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{document}
    \begin{tikzpicture}[level distance=1.5cm,
      level 1/.style={sibling distance=3cm}]
      \node (n0) {n0}
        child {node (n1) {n1}}
        child {node (n2) {n2}
        };
    
        \node [left of=n0, xshift=-1cm] {left of n0};
    \end{tikzpicture}
\end{document}

La salida es como

salida del árbol

información relacionada