
Ich habe festgestellt, dass die relative Positionierung nicht funktioniert, wenn ich ein Diagrammlayout verwende. Betrachten Sie das folgende Beispiel:
\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}
Es wird die folgende unerwartete Ausgabe erzeugt.
So ziemlich alles, was mit der Platzierung zu tun hat, funktioniert nicht. Man kann sagen at (n0.center)
, der letzte Knoten wird an derselben Stelle landen. Wie kann ich Knoten relativ zu den Knoten im Diagramm platzieren?
Antwort1
Sie übergeben es binary tree layout
an die tikzpicture
Umgebung. Wenn Sie es in eine Option verschieben, die an übergeben wird \graph
, wie folgt: \graph[binary tree layout]
, funktioniert Ihr Code.
\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}
Antwort2
Dies können Sie mit der Baumbibliothek erreichen. Sie können die Knoten positionieren, indem Sie den Knoten den Namen des Knotens geben.
Der Code ist
\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}
Die Ausgabe ist wie folgt