Text in einem Diagramm in TikZ

Text in einem Diagramm in TikZ

Ich habe den folgenden Code.

\begin{tikzpicture}
 [auto,
 vertex/.style={circle,draw=black!100,fill=black!100,thick,inner sep=0pt,minimum size=1mm}]
\node (v1) at ( 1,1) [vertex,label=left:$v_1$] {};
\node (v2) at ( 0,0) [vertex,label=left:$v_2$] {};
\node (v3) at ( 2,0) [vertex,label=right:$v_3$] {};
\draw [-] (v1) to (v2);
\draw [-] (v2) to (v3);
\draw [-] (v1) to (v3);
\draw [-] [loop below] (v1) to (v1);
\end{tikzpicture}

Dies zeichnet nun meinen Graphen schön mit drei Knoten. Mein Problem ist, dass ich den Kanten v_1v_2,v_2v_3,v_1v_3,v_1v_1 Namen als e_1,e_2,e_3,e_4 geben möchte. Diese Namen sollten in der Nähe der Kanten positioniert werden. Außerdem möchte ich, dass TikZ die Namen für diese Kanten automatisch platziert, ohne sich gegenseitig zu stören und ohne dass ich die Positionen angeben muss. Wie kann ich das am besten erreichen? Ich denke, dafür wird „auto“ verwendet, bin mir aber nicht sicher, wie.

Antwort1

Etwas wie das?

\documentclass[tikz]{standalone}
\usetikzlibrary{automata}
\begin{document}
  \begin{tikzpicture}[auto, vertex/.style={circle,draw=black!100,fill=black!100, thick,
                inner sep=0pt,minimum size=1mm}]
\node (v1) at ( 1,1) [vertex,label=left:$v_1$] {};
\node (v2) at ( 0,0) [vertex,label=left:$v_2$] {};
\node (v3) at ( 2,0) [vertex,label=right:$v_3$] {};
\draw [-] (v1) --node[inner sep=0pt,swap]{$e_1$} (v2);
\draw [-] (v2) --node[inner sep=2pt,swap]{$e_2$} (v3);
\draw [-] (v1) --node[inner sep=0pt]{$e_3$} (v3);
\draw [-] [loop below] (v1) to node[inner sep=0pt]{$e_4$} (v1);
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen