TikZ Entscheidungsbaum Kantenbeschriftung

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: TikZ Entscheidungsbaum Kantenbeschriftung

von Deborah » Do 27. Sep 2012, 15:40

Stimmt, eine Leerzeile ist der Grund.
Nochmals vielen Dank! :D

von esdd » Do 27. Sep 2012, 12:53

Hallo,

bei mir liefert unten stehender Code das angehangene pdf
\documentclass{scrartcl}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
[every node/.style={fill=black!10,rounded corners,align=center}, 
  grow=south, level distance=2cm, 
  level 1/.style={sibling distance=9cm}, 
  level 2/.style={sibling distance=5cm}, 
]

\node{B49-B57}
   child{node{B82-B84}
        child{node {4}edge from parent node{...}}
        child{node {5}edge from parent node{...}}
   edge from parent node[draw=red]{...}}
% es dürfen keine Leerzeilen dazwischen sein
   child{node{5} edge from parent node[draw=green]{...}}; 
\end{tikzpicture}
\end{document}
Hast du eventuell zwischen den childs eine Leerzeile drin?
Gruß
Elke
Dateianhänge
Kantenbeschriftung.pdf
(13.52 KiB) 621-mal heruntergeladen

von Deborah » Do 27. Sep 2012, 11:06

Es ist doch noch nicht ganz richtig.
Das zweite child
child{node{5} edge from parent node{...}}
taucht ja jetzt nicht mehr auf und die nodes überlagern sich.

von Deborah » Do 27. Sep 2012, 10:42

Super, es klappt. Ist ja ganz einfach :)

Vielen Dank, Elke!

von esdd » Mi 26. Sep 2012, 21:00

Hallo,

das edge from parent muss vor die schließende Klammer des zugehörigen childs, also hinter dessen ganze children.
\documentclass{scrartcl}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
[every node/.style={fill=black!10,rounded corners,align=center},
grow=south, level distance=2cm,
level 1/.style={sibling distance=9cm},
level 2/.style={sibling distance=5cm},
]

\node{B49-B57}
    child{node{B82-B84}
         child{node {4}edge from parent node{...}}
         child{node {5}edge from parent node{...}}
    edge from parent node[draw=red]{...}}%hier muss es hin
%
    child{node{5} edge from parent node{...}};

\end{tikzpicture}
\end{document}
Gruß
Elke

TikZ Entscheidungsbaum Kantenbeschriftung

von Deborah » Mi 26. Sep 2012, 17:53

Hallo,
ich möchte mit TikZ einen Entscheidungsbaum darstellen.
Nun habe ich gelesen, dass man Kantenbeschriftungen mit "edge from parent node{...}" machen soll. Das funktioniert aber nur in der unteren Ebene des Baumes. Weiter oben wird der Teilbaum an die Kantenbeschriftung geheftet.
Weiß jemand, wie man die Klammern richtig setzen muss oder gibt es eine bessere Möglichkeit?

Hier ein Ausschnitt aus meinem Baum:
So funktioniert es:
\documentclass{article} 
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  [every node/.style={fill=black!10,rounded corners,align=center}, 
    grow=south, level distance=2cm, 
    level 1/.style={sibling distance=9cm}, 
    level 2/.style={sibling distance=5cm}, 
   ] 


\node{B49-B57} 
		child{ node{B82-B84}
				child{node {4}edge from parent node{...}}
				child{node {5}edge from parent node{...}}
										}
		child{node{5} edge from parent node{...}}
					
\end{tikzpicture}
\end{document}
Und so nicht mehr:
\documentclass{article} 
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  [every node/.style={fill=black!10,rounded corners,align=center}, 
    grow=south, level distance=2cm, 
    level 1/.style={sibling distance=9cm}, 
    level 2/.style={sibling distance=5cm}, 
   ] 

\node{B49-B57} 
		child{ node{B82-B84} edge from parent node{...}
				child{node {4}edge from parent node{...}}
				child{node {5}edge from parent node{...}}
										}
		child{node{5} edge from parent node{...}}
							
\end{tikzpicture}
\end{document}
Vielen Dank im Voraus!

Nach oben