PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Graphenzeichnung mit Tikzpicture: Kante zeichnen ohen Überschneidung!!!



noob222
17-12-2008, 17:24
Hallo Leute,
ich bin am verzweifeln!

Habe eine Grafik gezeichnet bin damit auch sehr zufrieden. Jedoch Kriege ich eine Kante nicht hin. Die Kannte soll von der 2. Zeile zur 6. Zeile verbunden werden. Jedoch ohne ein Überscheidung der anderen Kanten und Knoten. Also einen bogen um die anderen Knoten. Bei mir wird die Kante Diagonal gezeichnet!!!!

Im Anhang findet ihr ein Bild um zu sehen was ich meine. (DICKE KANTE soll das Ziel sein, am besten über den Pfeil von Knoten 5 zu Knoten 2!)

Hier ist mein Code (Habe das Problem in rot gekennzeichnet)


\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}


\begin{tikzpicture}
[auto,
block/.style ={rectangle, draw=gray, thick, fill=gray!20, text width=7em, text centered, rounded corners,minimum height=2em},
line/.style ={draw, thick, -latex',shorten >=2pt}]


\matrix[column sep=5mm,row sep=7mm]
{
%zeile 0
& \node (0) {}; &\\
%zeile 1
& \node [block] (1) {$[x:=y]^1$}; &\\
%zeile 2
& \node [block] (2) {$[x>1]^2$}; &\\
%zeile 3
& \node [block] (3) {$[x\%2=0]^3$}; & \\
%zeile 4
\node [block] (4) {$[x:=x+1]^4$};&
& \node [block] (5) {$[x:=x-3]^5$}; &\\
%zeile 5
& \node [block] (6) {$[x:=0]^6$}; &\\
};

\begin{scope}[every path/.style=line]
\path [->] (0) -- (1);
\path [->] (1) -- node[midway]{a}(2);
\path [->] (2) -- node[left] {b} node[right] {yes} (3);
\path [->] (3) -- node[left] {yes} node[right] {c} (4);
\path [->] (3) -- node[left] {d} node[right] {no} (5);
\path [->] (4) |- node[near start] {e} (2);
\path [->] (5) |- node[near start] {f} (2);
\path [->] (2.east) |- (6.east);
\end{scope}

\end{tikzpicture}

\end{document}



vielen Dank schon mal für die Hilfe

cookie170
17-12-2008, 22:10
Hallo,

nur falls hier die Fans von tikz rar sein sollten:

http://sourceforge.net/mailarchive/forum.php?forum_name=pgf-users

Gruß,
Alexander

bobmalaria
18-12-2008, 01:47
hi,

1x das manual aufgeschalgen und schon hat mans :)


\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}


\begin{tikzpicture}
[
auto,
block/.style ={rectangle, draw=gray, thick, fill=gray!20, text width=7em, text centered, rounded corners,minimum height=2em},
line/.style ={draw, thick,shorten >=2pt}
]


\matrix[column sep=5mm,row sep=7mm]
{
%zeile 0
& \node (0) {}; &\\
%zeile 1
& \node [block] (1) {$[x:=y]^1$}; &\\
%zeile 2
& \node [block] (2) {$[x>1]^2$}; &\\
%zeile 3
& \node [block] (3) {$[x\%2=0]^3$}; & \\
%zeile 4
\node [block] (4) {$[x:=x+1]^4$};&
& \node [block] (5) {$[x:=x-3]^5$}; &\\
%zeile 5
& \node [block] (6) {$[x:=0]^6$}; &\\
};

\begin{scope}[every path/.style=line]
\path [->] (0) -- (1);
\path [->] (1) -- node[midway]{a}(2);
\path [->] (2) -- node[left] {b} node[right] {yes} (3);
\path [->] (3) -- node[left] {yes} node[right] {c} (4);
\path [->] (3) -- node[left] {d} node[right] {no} (5);
\path [->] (4) |- node[near start] {e} (2);
\path [->] (5) |- node[near start] {f} (2);
\path [->] (2.north east) |- +(4,0) |- (6.east);
\end{scope}

\end{tikzpicture}

\end{document}

grüße