Baumdiagramm überschneidet sich

Tabellen und Grafiken erstellen und anordnen


cyr74
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Fr 7. Okt 2016, 18:15

Baumdiagramm überschneidet sich

Beitrag von cyr74 »

Hallo,

Habe mein Problem als Minimalbeispiel, ihr werdet gleich sehen was los ist.
Ich habe viel probiert, leider konnte ich das Problem nicht selbst lösen..
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[h]
\resizebox{7cm}{!}{
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,
               semithick]
\tikzstyle{every node}=[fill=white,draw=black,rectangle,text=black]
\node (S) {$S_{0}^1 = 100$}
    child{ node (A) {$S_{1}^1 (\omega_{1}) = 200$}}
    child{ node (B) {$S_{1}^1 (\omega_{2}) = 150$}}
        ;
\end{tikzpicture}
}
\end{figure}

\end{document}
Lieben Gruß,
Kai

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

\tikzstyle{level 1}=[sibling distance=30mm] ergänzt:
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[h]
\resizebox{7cm}{!}{
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,
               semithick]
\tikzstyle{every node}=[fill=white,draw=black,rectangle,text=black]
\tikzstyle{level 1}=[sibling distance=30mm]
\node (S) {$S_{0}^1 = 100$}
    child{ node (A) {$S_{1}^1 (\omega_{1}) = 200$}}
    child{ node (B) {$S_{1}^1 (\omega_{2}) = 150$}}
        ;
\end{tikzpicture}
}
\end{figure}

\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen.

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

Beitrag von Bartman »

@cyr74

Du darfst die Größe Deines Baumdiagramms auch mithilfe von TikZ verändern:
\documentclass{scrbook}

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc}
\usepackage{tikz}

\usetikzlibrary{arrows}

\begin{document} 

\begin{figure}[htbp]
\centering
\resizebox{7cm}{!}{
\begin{tikzpicture}[
	->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick,
	nodes={fill=white,draw=black,rectangle,text=black},
	level 1/.style={sibling distance=30mm}
]
\node (S) {$S_0^1 = 100$}
    child{ node (A) {$S_1^1 (\omega_1) = 200$}}
    child{ node (B) {$S_1^1 (\omega_2) = 150$}}
        ;
\end{tikzpicture}
}
\end{figure}

\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
	->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick,
	scale=1.2,transform shape,% <- eingefügt
	nodes={fill=white,draw=black,rectangle,text=black},
	level 1/.style={sibling distance=30mm}
]
\node (S) {$S_0^1 = 100$}
    child{ node (A) {$S_1^1 (\omega_1) = 200$}}
    child{ node (B) {$S_1^1 (\omega_2) = 150$}}
        ;
\end{tikzpicture}
\end{figure}

\end{document}

cyr74
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Fr 7. Okt 2016, 18:15

Beitrag von cyr74 »

Danke, das hat geholfen.

Ich habe jetzt noch zwei Folgefragen, die sich bei ähnlichen Grafiken ergeben haben:

Erste Frage:
Wie kriege ich die Boxen in derselben Größe? (Aktuell sind die Boxen, die mit einer Kommazahl befüllt sind größer als die anderen):
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[ 
   ->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick, 
   scale=1.2,transform shape,
   nodes={fill=white,draw=black,rectangle,text=black}, 
   level 1/.style={sibling distance=30mm} 
] 
\node (S) {$95$}
    child{ node (A) {$90$}
        }
    child{ node (D) {$104,5$} 
        }
        ;
\end{tikzpicture}
\end{figure}

\end{document}
Zweite Frage:
Wie kriege ich es hin, dass in dieser Grafik die Pfeile nicht abgeschnitten werden?
\documentclass[ 
   ngerman, 
   pagesize, 
   twoside=false, 
   headinclude, 
   parskip=half, 
   DIV=14, 
   BCOR=5mm, 
   fontsize=12pt, 
   listof=totoc, 
   bibliography=totoc 
]{scrbook} 

\KOMAoptions{DIV=current} 

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{babel}% Ersatz für das Paket ngerman 
\usepackage[printonlyused]{acronym} 
\usepackage{amssymb,amsmath} 
\usepackage{bbm} 
\usepackage{hyperref} 
\usepackage{tikz}

\begin{document} 

\usetikzlibrary{arrows}
\usetikzlibrary{automata}
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[
->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,
               semithick,scale=1.2,transform shape, nodes={fill=white,draw=black,rectangle,text=black},
               level 1/.style={sibling distance=30mm} 
               ]
\node (S) {$S_{0}^1$}
    child{ node (A) {$d S_{0}^1$}
        child{node (B) {$d^2 S_{0}^1$}}
        child{node (C) {$ud S_{0}^1$}}}
    child{ node (D) {$u S_{0}^1$} 
       child{node (E) {$ud S_{0}^1$}}
       child {node (F) {$u^2 S_{0}^1$}}}
        ;

\path  (A) -- (B) node[draw=none, midway, left=5pt]{$(1-p)$};
\path  (S) -- (A) node[draw=none, midway, left=5pt]{$(1-p)$};
\path  (D) -- (S) node[draw=none, midway, right=5pt]{$p$};
\path  (D) -- (F) node[draw=none, midway, right=5pt]{$p$};
\end{tikzpicture}
\end{figure}

\end{document}
Lieben Gruß,
Kai

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 808
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Erste Frage:
Wie kriege ich die Boxen in derselben Größe? (Aktuell sind die Boxen, die mit einer Kommazahl befüllt sind größer als die anderen):
Z.B., indem Du eine minimale Breite angibst:
nodes={fill=white,draw=black,rectangle,minimum width=20mm,text=black},

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 808
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Zweite Frage:
Wie kriege ich es hin, dass in dieser Grafik die Pfeile nicht abgeschnitten werden?
Die Beschriftung ragt über die Pfeile drüber. Du kannst Transparenzen nutzen (s. [d]tikz[/d]) oder die Beschriftung etwas verschieben:
\path  (A) -- (B) node[draw=none, midway, left=5pt, xshift=-.3cm]{$(1-p)$};

cyr74
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Fr 7. Okt 2016, 18:15

Beitrag von cyr74 »

Danke :)

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

Beitrag von Bartman »

@cyr74

Die Boxen mit einer Kommazahl sind nicht nur breiter, sie sind auch höher.

Ich habe das Komma in der Box geklammert, damit das Leerzeichen danach verschwindet. Es gibt dafür noch andere Wege, wenn dieser Fall öfter vorkommen sollte.
\documentclass[tikz, border=5pt]{standalone}

\usetikzlibrary{arrows}

\begin{document}
\begin{tikzpicture}[ 
	->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick, 
	scale=1.2,transform shape,
	nodes={
		fill=white,
		draw=black,
		rectangle,
		text=black,
		minimum width=10mm,
		minimum height=6mm% <- eingefügt
	}, 
	level 1/.style={sibling distance=30mm} 
] 
\node (S) {$95$}
    child{ node (A) {$90$}
        }
    child{ node (D) {$104{,}5$} 
        }
        ;
\end{tikzpicture}
\end{document}

cyr74
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Fr 7. Okt 2016, 18:15

Beitrag von cyr74 »

Habe ich schon so abgeändert, trotzdem danke.

Lieben Gruß,
Kai

Antworten