Category Archives: Bäume

Baum oder nicht Baum

Heute sah ich eine ältere unbeantwortete Frage auf TeX.SE. Der Anlass war, mehrere Bäume zu zeichnen, die durch eine Linie verbunden sind. Am Ende kann man das wieder als Baum sehen, und etwas in komplizierter verschachtelter Baum-Syntax basteln, doch ich dachte mir, das kann man unbefangen in normalem TikZ angehen:

  • Ein paar Stile für Knoten-Typen definieren, klar
  • Die Koordinaten der wesentlichen Knoten auf dem Blatt platzieren samt Texten
  • Weitere Nodes platzieren, wie es gut aussieht, dabei möglichst relativ positionieren: zwischen, über oder unter anderen Nodes, mit Faktor und ggf. Verschiebung
  • Mit Linien verbinden

Dabei kann man die calc-library Syntax verwenden für Zwischenpunkte mit Faktor, Verschiebung, oder Projektion auf Linien. Dank relativer Bezüge kann man immer noch an Längen oder Faktoren justieren, und die Nodes wandern mit.
Weiterlesen

Schreibe einen Kommentar

Mindmaps

Neulich habe ich von mir betreute Server und Applikationen einmal als Mindmap visualisiert. Den Code nahm ich nun mal her, um anhand von TeX-Themen ein Beispiel zu zeigen, wie man Ideen ausbreiten kann, ausgehend von einem zentralen Konzept, um das sich Haupt-Themen gruppieren, die sich in weitere Themen verzweigen. Schwierig? Ist es nicht. Hier einmal poliert, wenngleich nicht perfekt, als Anschauungsbeispiel, mit gar nicht so langem Code.
mindmap
Weiterlesen

Kommentare: 3

Baum von Wahrscheinlichkeiten

Der folgende Graph zeigt ein einfaches Baumdiagramm, für die Wahrscheinlichkeiten beim Münzwurf.

Häufige auftretenden Styles wurden dabei allgemein definiert. Der Knackpunkt war hier ein wenig die Färbung der Wurzel, des ‘circle split’ mit der background-Bibliothek.

 

\documentclass[varwidth, margin=5pt]{standalone}
\usepackage[ngerman]{babel}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage{tikz}
\usetikzlibrary{calc, shapes, backgrounds}
\usepackage{amsmath, amssymb}
 \pagecolor{olive!50!yellow!50!white
}
%===========
\begin{document}
%===========
\tikzset{
zahl/.style={fill=blue!70!yellow, text=black, label=center:\textsf{\Large Z}},
kopf/.style={fill=orange!90!blue, label=center:\textsf{\Large K}}
}
\begin{tikzpicture}
[scale=1.5, transform shape,
thick,
every node/.style={draw, circle, minimum size=10mm
},
grow=down,  %Zeichenrichtung
level 1/.style={sibling distance=3cm},
level 2/.style={sibling distance=4cm},
level 3/.style={sibling distance=2cm},
level distance=1.25cm]

\node[fill=gray!40, shape=rectangle, rounded corners, minimum width = 6cm] {Münzwurf}
child{ node[shape=circle split,draw,line width=1pt,minimum size=10mm,inner sep=0mm, font=\sffamily\large, rotate=30]  (Start) { \rotatebox{-30}{K} \nodepart{lower}  \rotatebox{-30}{Z}}
 child {node[kopf] (A) {}
         child {node[kopf] (B) {}}
        child {node[zahl] (C) {}}
}
 child {node[zahl] (D) {}
          child {node[kopf] (E) {}}
          child {node[zahl] (F) {}}
 }
};

%Füllung der Wurzel = "Start"
\begin{scope}[on background layer, rotate=30]
    \fill[kopf] (Start.base) ([xshift=0mm]Start.east) arc (0:180:5mm)--cycle;
    \fill[zahl] (Start.base) ([xshift= 0pt]Start.west) arc (180:360:5mm)--cycle;  
\end{scope
}

%Beschriftung
\path (Start) -- (A) node [draw=none,  near start, left] {$0.5$};
\path (A) -- (B) node [draw=none,  near start, left] {$0.5$};
\path (A) -- (C) node [draw=none,  near start, right] {$0.5$};
\path (Start) -- (D) node [draw=none,  near start, right] {$0.5$};
\path (D) -- (E) node [draw=none,  near start, left] {$0.5$};
\path (D) -- (F) node [draw=none,  near start, right] {$0.5$
};
%
\node[below=11pt, draw=none, name=X] at (B) {$0.25$};
\node[below=11pt, draw=none] at (C) {$0.25$};
\node[below=11pt, draw=none, name=Y] at (E) {$0.25$};
\node[below=11pt, draw=none] at (F) {$0.25$
};
%
\draw[densely dashed, rounded corners, thin] (X.south west) rectangle (Y.north east);

\end{tikzpicture}
%===========
\end{document}
%===========
Namenlos-11a
Ein Kommentar