Hallo liebe Leute,

ich habe folgendes Problem und zwar habe ich mein Baumdiagramm geschrieben und wollte nun noch eine weitere Ebene einfügen. Vllt kann mir jemand helfen und mir sagen wo ich weiter ansetzen muss. Package sind in einer Überdatei angelegt

Open in Online-Editor
\usetikzlibrary{mindmap,trees}
\usepackage{tree}

\tikzstyle{level 1}=[level distance=3.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=3.5cm, sibling distance=2cm]
\tikzstyle{level 3}=[level distance=3.5cm, sibling distance=3.5cm]

% Define styles for bags and leafs
\tikzstyle{bag} = [text width=4em, text centered]
\tikzstyle{end} = [circle, minimum width=3pt,fill, inner sep=0pt]

% The sloped option gives rotated edge labels. Personally
% I find sloped labels a bit difficult to read. Remove the sloped options
% to get horizontal labels. 
\begin{tikzpicture}[grow=down, sloped]
\node[bag] {\{1,2,3,...,8\}}
    child {
        node[bag] {\{2,4,6,8\}}        
            child {
                node[bag]
                    {\{6,8\}} {}
                edge from parent
                node[below]  {>4 Ja}

            }
            child {
                node[bag]
                    {\{2,4\}} {}
                edge from parent
                node[above] {>4 Nein}
            }
            edge from parent 
            node[below]  {gerade? Ja}
    }
    child {
        node[bag] {\{1,3,5,7\}}        
        child {
                node[bag]
                    {\{5,7\}} {}
                edge from parent
                node[below]  {<4 Ja}
            }
            child {
                node[bag]
                    {\{1,3\}} {}
                edge from parent
                node[above] {<4 Nein}
            }
        edge from parent         
            node[above] {gerade? Nein}
    };
\end{tikzpicture}

gefragt 29 Jan '15, 07:54

Baumi0815's gravatar image

Baumi0815
131
Akzeptiert: 100%


Zunächst ergänze ich den Code zu einem lauffähigen Beispiel und entferne dabei das mir ungekannte Paket tree:

Open in Online-Editor
\documentclass[tikz,margin=10pt]{standalone}
\usetikzlibrary{mindmap,trees}
\begin{document}
\begin{tikzpicture}[
  grow=down,sloped,
  level distance=3.5cm,
  level 1/.style={sibling distance=8cm},
  level 2/.style={sibling distance=4cm},
  level 3/.style={sibling distance=2cm},
  bag/.style={}
  ]
\node[bag]{\{1,2,3,...,8\}}
  child {node[bag] {\{2,4,6,8\}}
    child {node[bag]{\{6,8\}} {}
      edge from parent node[below]{$>4$ Ja}
    }
    child {node[bag]{\{2,4\}} {}
      edge from parent node[above] {$>4$ Nein}
    }
    edge from parent node[below] {gerade? Ja}
  }
  child {node[bag] {\{1,3,5,7\}}
    child {node[bag]{\{5,7\}} {}
      edge from parent node[below]  {$>4$ Ja}
    }
    child {node[bag]{\{1,3\}} {}
      edge from parent node[above] {$>4$ Nein}
    }
    edge from parent node[above] {gerade? Nein}
    };
\end{tikzpicture}
\end{document}

alt text

Beim Einfügen von weiteren child und deren Beschriftungen ist zu beachten, dass edge from parent immer erst nach den untergeordenten child eingefügt werden darf.

Sollen zum Beispiel unterhalb von {2,4} eine weitere Ebene eingefügt werden, so muss das zwischen \node[bag]{\{2,4\}} und edge from parent node[above] {$>4$ Nein} erfolgen, also genau dort, wo jetzt das eigentlich unnötige {} steht:

Open in Online-Editor
    child {node[bag]{\{2,4\}} {}
      edge from parent node[above] {$>4$ Nein}
    }

Wenn wir dort jetzt zwei child{} einfügen

Open in Online-Editor
    child {node[bag]{\{2,4\}}
      child{}
      child{}
      edge from parent node[above] {$>4$ Nein}
    }

erhalten wir

alt text

Dann fügen wir in jeden child einen node ein:

Open in Online-Editor
    child {node[bag]{\{2,4\}}
      child{node[bag]{\{2\}}
      }
      child{node[bag]{\{4\}}
      }
      edge from parent node[above] {$>4$ Nein}
    }

und erhalten

alt text

Zum Schluß wird noch die Beschriftung ergänzt.

Open in Online-Editor
    child {node[bag]{\{2,4\}} 
      child{node{\{2\}}
        edge from parent node [below]{Frage 2}
      }
      child{node{\{4\}}
        edge from parent node [above]{Frage 4}
      }
      edge from parent node[above] {$>4$ Nein}
    }

alt text

Code:

Open in Online-Editor
\documentclass[tikz,margin=10pt]{standalone}
\usetikzlibrary{mindmap,trees}
\begin{document}
\begin{tikzpicture}[
  grow=down,sloped,
  level distance=3.5cm,
  level 1/.style={sibling distance=8cm},
  level 2/.style={sibling distance=4cm},
  level 3/.style={sibling distance=2cm},
  bag/.style={}
  ]
\node[bag]{\{1,2,3,...,8\}}
  child {node[bag] {\{2,4,6,8\}}
    child {node[bag]{\{6,8\}} {}
      edge from parent node[below]{$>4$ Ja}
    }
    child {node[bag]{\{2,4\}} 
      child{node{\{2\}}
        edge from parent node [below]{Frage 2}
      }
      child{node{\{4\}}
        edge from parent node [above]{Frage 4}
      }
      edge from parent node[above] {$>4$ Nein}
    }
    edge from parent node[below] {gerade? Ja}
  }
  child {node[bag] {\{1,3,5,7\}}
    child {node[bag]{\{5,7\}} {}
      edge from parent node[below]  {$>4$ Ja}
    }
    child {node[bag]{\{1,3\}} {}
      edge from parent node[above] {$>4$ Nein}
    }
    edge from parent node[above] {gerade? Nein}
    };
\end{tikzpicture}
\end{document}
Permanenter link

beantwortet 29 Jan '15, 09:04

esdd's gravatar image

esdd
14.2k53251

Super für die schnelle Antwort, ich war schon auf dem richtigen Weg, nach mehrmaligen belesen. Bin jedoch trotzdem zu keinem Ergebnis gekommen.

Danke für die übersichtliche und verständliche Antwort.

Mfg Baumi ;)

(29 Jan '15, 09:20) Baumi0815
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×6

Frage gestellt: 29 Jan '15, 07:54

Frage wurde angeschaut: 1,581 Mal

Zuletzt aktualisiert: 29 Jan '15, 09:20