Baumdiagramm erstellen

Tabellen und Grafiken erstellen und anordnen


Gast

Baumdiagramm erstellen

Beitrag von Gast »

Hallo,

ich hab Probleme beim erstellen eines Baumdiagramms. Ich wollte ihn mit tikz erstellen und hab auch ein Beispiel gefunden dem es ähneln soll, allerdings fällt es mir schwer dies zu ändern.

Die Baumstruktur meines Baums ist ziemlich einfach. Von der Wurzel gehen drei Pfade weg und dort teilt es sich nochmals jeweils in zwei auf.

Allerdings funktioniert bei mir das nicht. Kann mir jemand sagen, was ich falsch mache?
\begin{center} 
% macro for inputing payoff vectors 
 \newcommand{\payoff}[4][below]{\node[#1]at(#2){$(#3,#4)$};}

\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black}]
  % Two node styles: solid and hollow 
  \tikzstyle{solid node}=[circle,draw,inner sep=1.2,fill=black]; 
  \tikzstyle{hollow node}=[circle,draw,inner sep=1.2]; 
  % Specify spacing for each level of the tree 
   
  \tikzstyle{level 0}=[level distance=15mm,sibling distance=36mm, every child node/.style={hollow node}] 
  \tikzstyle{level 1}=[level distance=15mm,sibling distance=18mm, every child node/.style={solid node}] 
  \tikzstyle{level 2}=[level distance=15mm,sibling distance=9mm, every child node/.style={solid node}]
  % The Tree 
\node(0)[hollow node]{} % beginn leere Folge
  child{node(1){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[left]{$(2,0)$} 
      } 
      child{node(2){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[right]{$(3,1)$}
      } 
    child{node(3){} 
      child{node{} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[left]{$(4,4)$}
      } 

  }; 
% information set 
  \draw[dashed,rounded corners=7]($(1-1)+(-.2,.25)$)rectangle($(1-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=7]($(2-1)+(-.2,.25)$)rectangle($(2-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=10]($(1) + (-.2,.25)$)rectangle($(2) +(.2,-.25)$); 
% specify movers 
  \node[above]at(0){$1$}; 
\node[above]at(1){$2$}; 
\node[above]at(2){$2$};
\node[above]at(3){$2$};
; 
% payoffs 
  \payoff{1-1}ab 
  \payoff{1-2}cd 
  \payoff{2-1}ef 
  \payoff{2-2}gh 
  \payoff{3-1}ef 
  \payoff{3-2}gh   
  
  ;

\end{tikzpicture} 
\end{center}



\end{document}


Ich hab mich an folgendem Beispiel orientiert


\begin{center} 
% macro for inputing payoff vectors 
 \newcommand{\payoff}[4][below]{\node[#1]at(#2){$(#3,#4)$};}

\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black}]
  % Two node styles: solid and hollow 
  \tikzstyle{solid node}=[circle,draw,inner sep=1.2,fill=black]; 
  \tikzstyle{hollow node}=[circle,draw,inner sep=1.2]; 
  % Specify spacing for each level of the tree 
  \tikzstyle{level 0}=[every child node/.style={solid node}] 
  \tikzstyle{level 1}=[level distance=15mm,sibling distance=72mm, every child node/.style={solid node}] 
  \tikzstyle{level 2}=[level distance=15mm,sibling distance=36mm, every child node/.style={solid node}] 
  \tikzstyle{level 3}=[level distance=15mm,sibling distance=18mm, every child node/.style={solid node}] 
  \tikzstyle{level 4}=[level distance=15mm,sibling distance=9mm, every child node/.style={hollow node}]
  % The Tree 
\node(0)[solid node]{} 
  child{node(1){} 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[left]{$D$}
    } 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[right]{$E$} 
    } 
    edge from parent node[left,xshift=-8]{$C$} 
  }
  child{node(2){} 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[left]{$D$} 
    } 
    child{node{} 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[left]{$F$}
      } 
      child{node{} 
        child{node{}edge from parent node[left]{$H$}} 
        child{node{}edge from parent node[right]{$I$}} 
        edge from parent node[right]{$G$}
      } 
      edge from parent node[right]{$E$} 
    } 
    edge from parent node[right,xshift=8]{$D$} 
  }; 
% information set 
  \draw[dashed,rounded corners=7]($(1-1)+(-.2,.25)$)rectangle($(1-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=7]($(2-1)+(-.2,.25)$)rectangle($(2-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=10]($(1) + (-.2,.25)$)rectangle($(2) +(.2,-.25)$); 
% specify movers 
  \node[above]at(0){$P1$}; 
  \node at ($(1)!.5!(2)$) {$Spieler B$}; 
  \node at ($.5*(1-1)+.5*(1-2)$) {$P1$}; 
  \node at ($.5*(2-1)+.5*(2-2)$) {$P1$}

; 
% payoffs 
  \payoff{1-1-1-1}ab 
  \payoff{1-1-1-2}cd 
  \payoff{1-1-2-1}ef 
  \payoff{1-1-2-2}gh 
  \payoff{1-2-1-1}ij 
  \payoff{1-2-1-2}k{\ell} 
  \payoff{1-2-2-1}mn 
  \payoff{1-2-2-2}op 
  \payoff{2-1-1-1}qr 
  \payoff{2-1-1-2}st 
  \payoff{2-1-2-1}uv 
  \payoff{2-1-2-2}wx 
  \payoff{2-2-1-1}yz 
  \payoff{2-2-1-2}\alpha\beta 
  \payoff{2-2-2-1}\gamma\delta
  \payoff{2-2-2-2}\varepsilon\zeta
  ;

\end{tikzpicture} 
\end{center}
Wär super, wenn mir da jemand helfen könnte. Ich sitze schon ewig dran und komm einfach nicht weiter...


Danke schonmal für die Hilfe

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Also auf dieser Seite war ein VM angegeben. Mach das in Zukunft bitte auch. Ich glaube, du hast an einer Stelle einen Copy & Paste-Fehler.
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{center} 
% macro for inputing payoff vectors 
 \newcommand{\payoff}[4][below]{\node[#1]at(#2){$(#3,#4)$};} 

\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black}] 
  % Two node styles: solid and hollow 
  \tikzstyle{solid node}=[circle,draw,inner sep=1.2,fill=black]; 
  \tikzstyle{hollow node}=[circle,draw,inner sep=1.2]; 
  % Specify spacing for each level of the tree 
    
  \tikzstyle{level 0}=[level distance=15mm,sibling distance=36mm, every child node/.style={hollow node}] 
  \tikzstyle{level 1}=[level distance=15mm,sibling distance=18mm, every child node/.style={solid node}] 
  \tikzstyle{level 2}=[level distance=15mm,sibling distance=9mm, every child node/.style={solid node}] 
  % The Tree 
\node(0)[hollow node]{} % beginn leere Folge 
  child{node(1){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[left]{$(2,0)$} 
      } 
      child{node(2){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[right]{$(3,1)$} 
      } 
    child{node(3){} 
%      child{node{} % copy & paste Fehler?
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[left]{$(4,4)$} 
%      }  
  }; 
% information set 
  \draw[dashed,rounded corners=7]($(1-1)+(-.2,.25)$)rectangle($(1-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=7]($(2-1)+(-.2,.25)$)rectangle($(2-2)+(.2,-.25)$); 
  \draw[dashed,rounded corners=10]($(1) + (-.2,.25)$)rectangle($(2) +(.2,-.25)$); 
% specify movers 
  \node[above]at(0){$1$}; 
\node[above]at(1){$2$}; 
\node[above]at(2){$2$}; 
\node[above]at(3){$2$}; 
% 
% payoffs 
  \payoff{1-1}ab 
  \payoff{1-2}cd 
  \payoff{2-1}ef 
  \payoff{2-2}gh 
  \payoff{3-1}ef 
  \payoff{3-2}gh    

\end{tikzpicture} 
\end{center} 

\end{document}
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Gast

Beitrag von Gast »

Hallo,

vielen Dank für deine schnelle Hilfe! jetzt sieht es schon viel besser aus. Ich habe noch den "Information set" entfernt,da ich ihn nicht brauche. Allerdings habe ich jetzt noch das Problem, dass die Beschriftung für den zweiten Pfad halb auf die Linie des ersten Pfad steht...wie kann ich das lösen? ich hab am Anfang vermutet, dass ich bei level 0 den Wert für "distance" ändern muss. Aber wenn ich dort ein höheren Wert eingebe ändert sich leider nichts. Und mein zweites Problem ist, dass ich gerne die Zahl 1 und Zahl 2 neben die Punkte schreiben würde. Weiss jemand was ich hierfür eingeben muss?

\begin{center}
% macro for inputing payoff vectors
\newcommand{\payoff}[4][below]{\node[#1]at(#2){$(#3,#4)$};}

\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black}]
% Two node styles: solid and hollow
\tikzstyle{solid node}=[circle,draw,inner sep=1.2,fill=black];
\tikzstyle{hollow node}=[circle,draw,inner sep=1.2];
% Specify spacing for each level of the tree

\tikzstyle{level 0}=[level distance=15mm,sibling distance=36mm, every child node/.style={hollow node}]
\tikzstyle{level 1}=[level distance=15mm,sibling distance=18mm, every child node/.style={solid node}]
\tikzstyle{level 2}=[level distance=15mm,sibling distance=9mm, every child node/.style={solid node}]
% The Tree
\node(0)[hollow node]{} % beginn leere Folge
child{node(1){}
child{node{}edge from parent node[left]{$j$}}
child{node{}edge from parent node[right]{$n$}}
edge from parent node[left]{$(2,0)$}
}
child{node(2){}
child{node{}edge from parent node[left]{$j$}}
child{node{}edge from parent node[right]{$n$}}
edge from parent node[left]{$(3,1)$}
}
child{node(3){}

child{node{}edge from parent node[left]{$j$}}
child{node{}edge from parent node[right]{$n$}}
edge from parent node[right]{$(4,4)$}
% }
};

% specify movers
\node[above]at(0){$1$};
\node[above]at(1){$2$};
\node[above]at(2){$2$};
\node[above]at(3){$2$};
%
% payoffs
\payoff{1-1}ab
\payoff{1-2}cd
\payoff{2-1}ef
\payoff{2-2}gh
\payoff{3-1}ef
\payoff{3-2}gh

\end{tikzpicture}
\end{center}

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Ersetze above durch left oder right. Außerdem: VM!
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Gast

Beitrag von Gast »

Hallo,

vielen Dank! wahrscheinlich eine sehr doofe Frage aber was meinst du mit VM?

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Ließ dir mal meine Signatur durch.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Gast

Beitrag von Gast »

OK nächster Versuch,

ich bin mit dem folgenden Spielbaum noch nicht zufrieden und würde gern drei Dinge ändern.
1) die Striche etwas dicker machen Wie ich die Punkte etwas größer bekomme hab ich herausgefunden, aber leider nicht die Striche...Kann mir das jemand sagen?

2)Außerdem sollen die Payoffs nicht in der Darstellung ( , ) angezeigt werden. Ich will die Payoffs als ein Vektor schreiben? Wie bzw. wo kann ich das denn ändern?

3) die Bezeichnung des ersten Pfads berührt den Pfad. Kann ich etwas Abstand hinzufügen?

Vielen Dank schonmal für die Hilfe! Ich bin leider ein richtiger Anfänger, deshalb fällt es mir manchmal richtig schwer die ganzen Befehle zu verstehen. Falls jemand eine gute Seite kennt, die detaillierte Infos zur Erstellung eines Baums gibt, würde ich mich freuen :)
\documentclass{scrbook}
\usepackage{tikz} 
\begin{document}
\begin{center} 
% macro for inputing payoff vectors 
 \newcommand{\payoff}[4][below]{\node[#1]at(#2){$(#3,#4)$};} 

\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black}] 
  % Two node styles: solid and hollow 
  \tikzstyle{solid node}=[circle,draw,inner sep=1.2,fill=black]; 
  \tikzstyle{hollow node}=[circle,draw,inner sep=1.2]; 
  % Specify spacing for each level of the tree 
    
  \tikzstyle{level 0}=[level distance=15mm,sibling distance=36mm, every child node/.style={hollow node}] 
  \tikzstyle{level 1}=[level distance=15mm,sibling distance=27mm, every child node/.style={hollow node}] 
  \tikzstyle{level 2}=[level distance=15mm,sibling distance=9mm, every child node/.style={solid node}] 
  % The Tree 
\node(0)[hollow node]{} % beginn leere Folge 
  child{node(1){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[left]{$(2,0)$} 
      } 
      child{node(2){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[right]{$(3,1)$} 
      } 
    child{node(3){} 
%      child{node{} % copy & paste Fehler? 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[right]{$(4,4)$} 
%      }   
  }; 

% specify movers 
  \node[above]at(0){$1$}; 
\node[left]at(1){$2$}; 
\node[right]at(2){$2$}; 
\node[right]at(3){$2$}; 
% 
% payoffs 
  \payoff{1-1}ab 
  \payoff{1-2}cd 
  \payoff{2-1}ef 
  \payoff{2-2}gh 
  \payoff{3-1}ij 
  \payoff{3-2}kl     

\end{tikzpicture} 
\end{center} 

\end{document}


esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Linienstärke:
\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black},
thick % oder alternativ Vorgabe einer Breite: line width=...pt
]
Payoffs:
\usepackage{amsmath}
\newcommand{\payoff}[4][below]{\node[#1]at(#2){$\binom{#3}{#4}$};} 
Abstand der Beschriftung:
  ...
  edge from parent node[left=3mm]{$(2,0)$} 
  ...
Gruß
Elke

Gast

Beitrag von Gast »

danke Elke, es hat sofort funktioniert und ganz langsam versteh ich die Befehle auch mehr:)

hab mir den Baum jetzt auch mal ausgedruckt und da ist mir aufgefallen,dass es insgesamt etwas klein ist:

1) kann man dem Baum insgesamt vergrößern? Also,dass sich nicht nur zb die Zahlen vergrößern sondern einheitlich alles? gibts hierfür ein Befehl

2) die Vektorzahlen (also beim Payoff) sind kleiner als die restlichen Zahlen, kann ich das vereinheitlichen bzw. wie kann ich die größe der Vektorzahlen verändern und an die anderen anpassen

3)die Vektorenklammern hätte ich auch gern etwas größer,da die Zahlen schon fast rausschauen. Kann man dies auch ändern bzw weiss jemand wie

Wenn mir hier noch jemand helfen könnte, das wär super lieb und ich glaub dann wär das Drama mit dem Baum auch zu ende ;)


\documentclass{scrbook} 
\usepackage{tikz} 
\begin{document} 

\begin{center} 
% macro for inputing payoff vectors 
\newcommand{\payoff}[4][below]{\node[#1]at(#2){$\binom{#3}{#4}$};}

\begin{tikzpicture}[scale=1,font=\footnotesize, hollow node/.style={circle,draw,inner sep=1.2}, solid node/.style={hollow node ,fill=black},line width=1pt] 
  % Two node styles: solid and hollow 
  \tikzstyle{solid node}=[circle,draw,inner sep=1.2,fill=black]; 
  \tikzstyle{hollow node}=[circle,draw,inner sep=1.2]; 
  % Specify spacing for each level of the tree 
    
  \tikzstyle{level 0}=[level distance=15mm,sibling distance=36mm, every child node/.style={hollow node}] 
  \tikzstyle{level 1}=[level distance=15mm,sibling distance=27mm, every child node/.style={hollow node}] 
  \tikzstyle{level 2}=[level distance=15mm,sibling distance=9mm, every child node/.style={solid node}] 
  % The Tree 
\node(0)[hollow node]{} % beginn leere Folge 
  child{node(1){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[left=3mm]{$(2,1)$}  
      } 
      child{node(2){} 
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[right]{$(2,4)$} 
      } 
    child{node(3){}  
        child{node{}edge from parent node[left]{$j$}} 
        child{node{}edge from parent node[right]{$n$}} 
        edge from parent node[right=3mm]{$(2,5)$} 
%      }   
  }; 

% specify movers 
  \node[above]at(0){$1$}; 
\node[left]at(1){$2$}; 
\node[right]at(2){$2$}; 
\node[right]at(3){$2$}; 
% 
% payoffs 
  \payoff{1-1}12 
  \payoff{1-2}23 
  \payoff{2-1}34 
  \payoff{2-2}56 
  \payoff{3-1}78 
  \payoff{3-2}12     

\end{tikzpicture} 
\end{center} 

\end{document}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Zu Punkt eins: Wie kann ich eine TikZ-Grafik vergrößern oder verkleinern?

Es gibt in der Anleitung von tikz übrigens ein sehr ausführliches Tutorial. Das kann ich dir sehr empfehlen.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten