TikZ-Diagramme: Kantenzielanker angeben

TikZ-Diagramme: Kantenzielanker angeben

Ich habe folgenden Code:

\documentclass[tikz]{standalone}
\usetikzlibrary{graphs}
\begin{document}
\tikz \graph[grow right sep=20,nodes={draw,rectangle}] { a -> {b, long node name} };
\end{document}

Das Ergebnis ist folgende:MWE-Ausgabe: a -> {b, langer Knotenname}

Ich möchte, dass die Kante „a“ -> „langer Knotenname“ nicht von Ost nach Nord, sondern von Süd nach West verläuft. Ist dies möglich, während trotzdem nur ein \graph-Aufruf verwendet wird? Oder muss ich diese Kante manuell in einem zusätzlichen Befehl angeben?

(Das heißt, ich habe im Grunde das gleiche Problem wie in der FrageKantenanker in Tikz, aber ich möchte die Graphenzeichenfunktionen von TikZ verwenden, anstatt Kanten manuell zu erstellen.)

Antwort1

Um einen Westanker für den Knoten zu erhalten, long node namekönnen Sie verwenden right anchor=west.

Code

\documentclass[tikz]{standalone}
\usetikzlibrary{graphs}
\begin{document}
\tikz \graph[grow right sep=20,nodes={draw,rectangle},right anchor=west] { a -> {b, long node name} };
\end{document}

Ergebnis

Bildbeschreibung hier eingeben

Antwort2

Ich glaube, das ist es, was Sie wollen. Bildbeschreibung hier eingeben

Ich habe nie verwendet \graph. Normalerweise verwende ich für etwas wie das, was Sie gefragt haben, \nodes und anchors, und zwar wie folgt:

\documentclass[tikz]{standalone}
\usetikzlibrary{graphs}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}
    \node[draw] (a) {a};
   \node[draw,anchor=west] (b) at ($(a)+(1cm,0)$) {b};
   \node[draw,anchor=west] (c) at ($(a)+(1cm,-1cm)$) {long node name};
   \draw[->] (a) -- (b);
   \draw[->] (a.south) -- (c.west);
\end{tikzpicture}
\end{document}

Natürlich muss ein angemessener Abstand zwischen den Knotenpunkten eingestellt werden. Andernfalls könnte die Pfeilspitze das Rechteck schneiden. Dies lässt sich jedoch nur durch Ändern der Pfeilspitzen vermeiden. Darüber hinaus könnten Sie gekrümmte Pfeile verwenden.

verwandte Informationen