Spielbaum

Tabellen und Grafiken erstellen und anordnen


mango1234
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Mi 7. Aug 2019, 15:25

Spielbaum

Beitrag von mango1234 »

\documentclass[tikz]{standalone} 
\usetikzlibrary{positioning} 

\begin{document} 
\begin{figure}
\centering
\begin{tikzpicture}[ 
    thin,
    level 1/.style={sibling distance=40mm}, 
    level 2/.style={sibling distance=25mm}, 
    level 3/.style={sibling distance=20mm}, 
    
    every circle node/.style={minimum size=0mm, inner sep=0mm} 
] 
\node[circle,fill] (root) {} 
    child { node [circle,draw] {} 
    	child { node [circle,fill] {} 
	   edge from parent 
          }
         child { node [circle,draw] {} 
            edge from parent 
        } 
        edge from parent  
         }
    child { node [circle,fill] {} 
        child { node [circle,fill] (y2) {}
            child { node [circle,draw] {}
                edge from parent 
            } 
            child { node [circle,draw] {} 
                edge from parent  
            } 
            edge from parent 
        } 
        child { node [circle,draw] (z4) {}
          child { node [circle,draw] {} 
                edge from parent 
           } 
            child { node [circle,draw] {} 
                edge from parent                  
            } 
            edge from parent             
        } 
      }
        %\draw (y2) -- (z4)
          \end{tikzpicture} 
 \caption{mit perfect recall}\label{SP12}
\end{figure}
\enddocument 
hab mal wieder ein Problem mit einem Spielbaum, wie kann ich zwischen y2 und z4 eine gestrichelte Linie ziehen? bei einem anderem Spielbaum hab ich es mit draw gemacht aber hier funktioniert es irgendwie nicht
:?: danke schon mal für eure Hilfe

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Da dashed auch alle weiteren Kanten und Knoten im Baum beeinflusst, müssen diese mit solid in den Ausgangszustand zurückgesetzt werden.
\documentclass[tikz, border=5pt]{standalone}

\begin{document}
\begin{tikzpicture}[
    thin,
    level 1/.style={sibling distance=40mm},
    level 2/.style={sibling distance=25mm},
    level 3/.style={sibling distance=20mm},
    every circle node/.style={minimum size=0mm, inner sep=0mm}
]
\node[circle,fill] (root) {}
    child { node [circle,draw] {}
       child { node [circle,fill] {}
      edge from parent 
          }
         child { node [circle,draw] {}
            edge from parent 
        }
        edge from parent  
         }
    child { node [circle,fill] {} 
        child [dashed] { node [circle,fill] (y2) {}
            child [solid] { node [circle,draw] {}
                edge from parent 
            }
            child [solid] { node [circle,draw] {}
                edge from parent  
            }
            edge from parent 
        }
        child [dashed] { node [circle,draw] (z4) {}
          child [solid] { node [circle,draw] {}
                edge from parent 
           }
            child [solid] { node [circle,draw] {}
                edge from parent 
            }
            edge from parent 
        }
      };
\end{tikzpicture}
\end{document}
Wenn der Baum ohne Knoten gezeichnet werden soll, dann kannst Du den Quelltext viel schlanker gestalten.
\documentclass[tikz, border=5pt]{standalone}

\begin{document}
\begin{tikzpicture}[
    thin,
    level 1/.style={sibling distance=40mm},
    level 2/.style={sibling distance=25mm},
    level 3/.style={sibling distance=20mm}
]
\coordinate
    child { 
        child 
        child 
    }
    child { 
        child [dashed] {% (y2)
            child [solid] 
            child [solid]
        }
        child [dashed] {% (z4)
            child [solid]
            child [solid] 
        }
    }
;
\end{tikzpicture}
\end{document}

mango1234
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Mi 7. Aug 2019, 15:25

Beitrag von mango1234 »

danke aber eigentlich brauch ich ja die gestrichelte Linie zwischen den knoten y2 und z4 und nicht die äste...

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Dann übergib doch dem Befehl \draw die angesprochene Option.

Sorge bitte außerdem für ein vollständiges Beispiel. Es sollte also in Deinem Fall keine Fehlermeldungen (fehlende Semikola oder Leerzeilen in der Optionenliste der Umgebung) ausgeben.

mango1234
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Mi 7. Aug 2019, 15:25

Beitrag von mango1234 »

das hab ich ja zu beginn probiert mit
 \draw (y2)--(z4)

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Es funktioniert also auch nicht mit abschließendem Semikolon?
\draw [dashed] (y2) -- (z4);

mango1234
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Mi 7. Aug 2019, 15:25

Beitrag von mango1234 »

füge ich das ein kompiliert die ganze Arbeit nicht mehr. und probiere ich es ganz alleine in einem extra Dokument geht es auch nicht

mango1234
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Mi 7. Aug 2019, 15:25

Beitrag von mango1234 »

Hier nochmals das ganze:
\documentclass[tikz]{standalone} 
\usetikzlibrary{positioning} 

\begin{document}

\begin{tikzpicture}[ 
    thin, 
    level 1/.style={sibling distance=40mm}, 
    level 2/.style={sibling distance=25mm}, 
    level 3/.style={sibling distance=20mm} 
] 
\coordinate 
    child { 
        child 
        child 
    } 
    child { 
        child [dashed] (y2) { 
            child [solid] 
            child [solid] 
        } 
        child [dashed] (z4) {
            child [solid] 
            child [solid] 
        } 
    } 
  \draw [dashed] (y2) -- (z4)   
; 
\end{tikzpicture} 
\end{document}

mango1234
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Mi 7. Aug 2019, 15:25

Beitrag von mango1234 »

jetzt sieht der ganze baum anders aus. ich möchte einfach nur einen horizontalen strichlierten strich zwischen den knoten

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Die Maßnahmen sind kein Geheimnis, sondern können im Abschnitt 21.3 "Naming Child Nodes" der Dokumentation von pgf/TikZ nachgelesen werden.
\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}[
    thin,
    level 1/.style={sibling distance=40mm},
    level 2/.style={sibling distance=25mm},
    level 3/.style={sibling distance=20mm}
]
\coordinate
    child {
        child
        child
    }
    child {
        child { coordinate (y2)
            child 
            child 
        }
        child { coordinate (z4)
            child
            child
        }
    }
;% Semikolon für \coordinate  
\draw [dashed] (y2) -- (z4);% Semikolon für \draw
\end{tikzpicture}
\end{document}
Zuletzt geändert von Bartman am Fr 9. Aug 2019, 11:14, insgesamt 1-mal geändert.

Antworten