Hallo, ich versuche, die Grafik unten zu replizieren. Ich habe das meiste davon gemacht, kann aber keinen Weg finden, einen Pfeil an einem Punkt beginnen und enden zu lassen.
Ich habe es geschafft, die folgende Abbildung zu erhalten. Und ich komme nicht weiter beim Erstellen der Pfeile auf Knoten E.
Ich habe den Code unten angehängt
\tikzstyle{state} = [circle, minimum width=2cm, draw=black]
\begin{tikzpicture}[very thick, ->, >=stealth,auto, node distance=4cm]
\node(shift) [state] {Shift $=1$};
\node [above of=shift, yshift=-3.5cm] {S};
\node(add) [state, right of=shift] {Add $=1$};
\node [above of=add, yshift=-3.5cm] {A};
\node(init) [state, right of=add] {Init $=1$};
\node [above of=init, yshift=-3.5cm] {I};
\node(control) [state, below of=add] {};
\node [above of=control, yshift=-3.5cm] {C};
\node(others) [state, below of=control] {};
\node [above of=others, yshift=-3.5cm] {Others};
\node(end) [state, right of=control] {Done $=1$};
\node [above of=end, yshift=-3.5cm] {E};
\node(reset) [circle, draw=black, fill=black, right of=end, xshift=-1.5cm] {};
\node [above of=reset, yshift=-3.5cm] {Reset};
\path (add) edge node [above] {$1$} (shift);
\path (shift) edge[bend right] node [below left] {LSB/Stop $=00$} (control);
\path (control) edge[] node [above right] {$1$} (shift);
\path (control) edge[] node [right] {LSB $=1$} (add);
\path (init) edge[] node [below right] {$1$} (control);
\path (end) edge[] node [right] {Start $=1$} (init);
\path (control) edge[] node [above] {$01$} (end);
\path (others) edge[] node [above left] {$1$} (end);
\path (reset) edge[] node [] {} (end);
\end{tikzpicture}
Antwort1
So was ?(Erklärungen finden Sie in der kommentierten Zeile)
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\tikzstyle{state} = [circle, minimum width=2cm, draw=black]
\begin{tikzpicture}[very thick, ->, >=stealth,auto, node distance=4cm]
\node(shift) [state] {Shift $=1$};
\node [above of=shift, yshift=-3.5cm] {S};
\node(add) [state, right of=shift] {Add $=1$};
\node [above of=add, yshift=-3.5cm] {A};
\node(init) [state, right of=add] {Init $=1$};
\node [above of=init, yshift=-3.5cm] {I};
\node(control) [state, below of=add] {};
\node [above of=control, yshift=-3.5cm] {C};
\node(others) [state, below of=control] {};
\node [above of=others, yshift=-3.5cm] {Others};
\node(end) [state, right of=control] {Done $=1$ };
\draw (end) to [in=-40,out=220,looseness=5,min distance=30mm]node[above]{Start $=0$} (end);% <------ loop Start=0
\node [above of=end, yshift=-3.5cm] {E };
\node(reset) [circle, draw=black, fill=black, right of=end, xshift=-1.5cm] {};
\node [above of=reset, yshift=-3.5cm] {Reset};
\path (add) edge node [above] {$1$} (shift);
\path (shift) edge[bend right] node [below left] {LSB/Stop $=00$} (control);
\path (control) edge[] node [above right] {$1$} (shift);
\path (control) edge[] node [right] {LSB $=1$} (add);
\path (init) edge[] node [below right] {$1$} (control);
\path (end) edge[] node [right] {Start $=1$} (init);
\path (control) edge[] node [above] {$01$} (end);
\path (others) edge[] node [above left] {$1$} (end.200);%<--- arrows a little above
\path (reset) edge[] node [] {} (end);
%\node [circle,draw] at (end){} edge [in=30,out=60,loop] ();
\end{tikzpicture}
\end{document}
Nachtrag:
\tikzstyle
ist veraltet, verwenden Sie \tikzset
stattdessen, was Folgendes ergibt:
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
%\tikzstyle{state} = [circle, minimum width=2cm, draw=black]
\tikzset{state/.style={circle, minimum width=2cm, draw=black}}
\begin{tikzpicture}[very thick, ->, >=stealth,auto, node distance=4cm]
\node(shift) [state] {Shift $=1$};
\node [above of=shift, yshift=-3.5cm] {S};
\node(add) [state, right of=shift] {Add $=1$};
\node [above of=add, yshift=-3.5cm] {A};
\node(init) [state, right of=add] {Init $=1$};
\node [above of=init, yshift=-3.5cm] {I};
\node(control) [state, below of=add] {};
\node [above of=control, yshift=-3.5cm] {C};
\node(others) [state, below of=control] {};
\node [above of=others, yshift=-3.5cm] {Others};
\node(end) [state, right of=control] {Done $=1$ };
\draw (end) to [in=-40,out=220,looseness=5,min distance=30mm]node[above]{Start $=0$} (end);% <------ loop Start=0
\node [above of=end, yshift=-3.5cm] {E };
\node(reset) [circle, draw=black, fill=black, right of=end, xshift=-1.5cm] {};
\node [above of=reset, yshift=-3.5cm] {Reset};
\path (add) edge node [above] {$1$} (shift);
\path (shift) edge[bend right] node [below left] {LSB/Stop $=00$} (control);
\path (control) edge[] node [above right] {$1$} (shift);
\path (control) edge[] node [right] {LSB $=1$} (add);
\path (init) edge[] node [below right] {$1$} (control);
\path (end) edge[] node [right] {Start $=1$} (init);
\path (control) edge[] node [above] {$01$} (end);
\path (others) edge[] node [above left] {$1$} (end.200);%<--- arrows a little above
\path (reset) edge[] node [] {} (end);
\end{tikzpicture}
\end{document}