Wie erhält man mit TikZ Kanten nach Knoten in einem Graphen?

Wie erhält man mit TikZ Kanten nach Knoten in einem Graphen?

Der folgende Code gibt mir ein Diagramm aus und zeigt, wie Kanten nacheinander angezeigt werden, anstatt das gesamte Diagramm auf einmal anzuzeigen.

\begin{figure}
\begin{tikzpicture}
  [scale=.8,auto=left,every node/.style={circle,fill=blue!20}]
  %\node (n6) at (1,10) {6};
  \node (n4) at (3,4)  {4};
  \node (n5) at (3,2)  {5};
  \node (n1) at (1.5,2)  {1};
  \node (n2) at (3,6)  {2};
  \node (n3) at (4.5,2)  {3};

  \foreach \from/\to in {n2/n4,n4/n3,n4/n5,n4/n1}
    \draw (\from) -- (\to);
\draw (n2) to [out=-20,in=35] (n3);
\draw (n2) to [out=200,in=135] (n1);
\draw (n2) to [out=-20,in=35] (n5);
\end{tikzpicture}
\caption{Closure of a Tree}
\end{figure}

Antwort1

Sie können die Tatsache nutzen, dass TikZ-Befehle überlappungsfähig sind (ich habe dies \visiblefür die gebogenen Pfeile verwendet, um zu verhindern, dass die Figur „herumspringt“):

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes.arrows}

\begin{document}

\begin{frame}
\begin{figure}
\centering
\begin{tikzpicture}
  [scale=.8,auto=left,every node/.style={circle,fill=blue!20}]
  %\node (n6) at (1,10) {6};
  \node (n4) at (3,4)  {4};
  \node (n5) at (3,2)  {5};
  \node (n1) at (1.5,2)  {1};
  \node (n2) at (3,6)  {2};
  \node (n3) at (4.5,2)  {3};

  \foreach \from/\to [count=\xi from 2] in {n2/n4,n4/n3,n4/n5,n4/n1}
    \draw<\xi-> (\from) -- (\to);
\visible<6->{\draw (n2) to [out=-20,in=35] (n3);}
\visible<7->{\draw (n2) to [out=200,in=135] (n1);}
\draw<8-> (n2) to [out=-20,in=35] (n5);
\end{tikzpicture}
\caption{Closure of a Tree}
\end{figure}
\end{frame}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen