PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Graph mit TikZ darstellen



nonne
29-10-2008, 21:58
Hi Leute,

Ich habe vorher sowas noch nie gemacht und bin auf der Suche nach einer möglichst einfachen und verständnisvollen Erklärung, wie man in LaTeX Graphen zeichnet (mit Knoten, Kanten und Beschriftungen an den Kanten).

Ich habe zuerst dies probiert:
\begin{picture}(50,50)(0,0)
\node(1)(25,5){1}
\node[Nmarks=i](2)(5,25){2}
\node(3)(25,45){3}
\node(4)(45,25){4} \node[Nmarks=r](5)(25,25){5}
\drawedge(1,4){b}
\drawedge(4,3){a}
\drawedge(3,2){b}
\drawedge(2,1){a}
\drawedge(2,5){c}
\drawedge(5,4){c}
\drawloop[loopangle=90](3){a}
\drawloop[loopangle=270](1){a}
\end{picture}

Damit erhalte ich einen Graphen, wie er eigentlich auch sein soll, allerdings sind bei mir in der vorgegebenen Abbildung die Kanten rundlich dargestellt. Aus diesem Grund gehe ich stark davon aus, dass ich es genauso machen soll und dies ist - so glaube ich - nur mit der Umgebung "tikzpicture" möglich?!

Nun frickel ich herum und kriegs irgendwie nicht hin. Bisher sieht das bei mir so aus:

\begin{tikzpicture}
\node(3) at (0,4)[shape=circle,draw]{3};
\node(5) at (0,2)[shape=circle,draw]{5};
\node(1) at (0,0)[shape=circle,draw]{1};
\node(4) at (2,2)[shape=circle,draw]{4};
\node(2) at (-2,2)[shape=circle,draw]{2};
\draw[->](3)to[bend right=45](2);
\draw[->](2)to[bend right=45](1);
\draw[->](1)to[bend right=45](4);
\draw[->](4)to[bend right=45](3);
\draw[->](2)to(5);
\draw[->](5)to(4);
\end{tikzpicture}

Allerdings fehlen mir noch:
die Loops bei Knoten 3 und 1, der eingehende Pfeil nach 2 und die Kantenbeschriftung und ich habe leider keine Ahnung wie ich das machen soll?! Aus diesem tikZ-Handbuch und einem Tutorial, wo ein Graph bereits gezeichnet wurde samt LaTeX-Quellcode, wurde ich leider nicht schlau.
Kann mir hier vielleicht jemand helfen?
Wäre nett!

mfG,
Nonne

Stefan_K
29-10-2008, 22:09
Hallo Nonne,

vielleicht helfen Dir ja die Beispiele in der Rubrik Graphs (http://www.texample.net/tikz/examples/tag/graphs/) der Tikz Beispielsammlung weiter bzw. diese Galerie allgemein.

Stefan

bobmalaria
29-10-2008, 23:55
hi,
im pgfmanual ab seite 226:; 23 Automata Drawing Library

das sollte dir doch helfen.

gruß

voss
30-10-2008, 10:04
Ich habe vorher sowas noch nie gemacht und bin auf der Suche nach einer möglichst einfachen und verständnisvollen Erklärung, wie man in LaTeX Graphen zeichnet (mit Knoten, Kanten und Beschriftungen an den Kanten).


für Automaten gibt es auch spezielle Pakete:
http://www.lsv.ens-cachan.fr/~gastin/gastex/gastex.html
http://www.ctan.org/tex-archive/graphics/pstricks/contrib/vaucanson-g/

Herbert