Seite 1 von 1

TikZ: Textweite in Knoten erhöhen

Verfasst: Mi 17. Feb 2016, 14:07
von BrokiX
Hallo,

ich hab einen sehr großen Baum und hätte gerne, dass der Text in den Knoten (auf zweiter Stufe) nicht von den Verbindungsstrichen überlagert wird. Kann ich den Text irgendwie ausrichten?
\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage{tikz} 
\usetikzlibrary{trees, arrows,fit,positioning,backgrounds}
\newcommand\rlinie{0.75pt}% hier wird Breite der Rahmenlinie vorgegeben
\begin{document}
\pagestyle{empty}


% Set the overall layout of the tree
\tikzstyle{level 1}=[level distance=3cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=5.5cm, sibling distance=0.6cm]

% Define styles for bags and leafs
\tikzstyle{bag} = [text width=15em, 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=right, sloped]
\node[end] {}
    child {
        node[bag] {$\left( \begin{array}{c} 0.035, 0.051, 0.066, 0.084
  \end{array} \right)^\top$}        
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.036, 0.053, 0.163, 0.0182  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.401$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c}  0.035,0.066,0.014,-0.180 \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.293$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.054,0.052,0.067,-0.020  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.099$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.027,0.042,0.023,0.030  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.293$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.049,0.067,-0.150,0.066 \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.087$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.059,0.073,-0.180,-0.210  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.115$}
                node[below]  {}
            }
            edge from parent 
            node[above] {$0.422$}
            node[below]  {}
    }
    child {
        node[bag] {$\left( \begin{array}{c} 0.034,0.068,0.146,-0.290  \end{array} \right)^\top$}        
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.063,0.051,-0.260,-0.010  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.024$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.049,0.082,-0.080,-0.360  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.119$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.031,0.070,-0.050,0.222  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.174$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.044,0.069,0.200,0.359 \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.262$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c}  0.028,0.058,0.105,0.036  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.417$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.059,0.087,-0.220,-0.450  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.005$}
                node[below]  {}
            }
            edge from parent 
            node[above] {$0.059$}
            node[below]  {}
    }
    child {
        node[bag] {$\left( \begin{array}{c} 0.062,0.063,-0.070,-0.140  \end{array} \right)^\top$}        
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.053,0.058,0.225,0.236
  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.492$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.047,0.059,-0.070,-0.220  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.166$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.092,0.046,-0.120,0.091  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.025$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.037,0.063,-0.310,0.506 \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.023$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.074,0.073,0.041,0.066  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.288$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c}  0.089,0.080,-0.250,-0.330 \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.005$}
                node[below]  {}
            }
            edge from parent 
            node[above] {$0.123$}
            node[below]  {}
    }
    child {
        node[bag] {$\left( \begin{array}{c} 0.048,0.062,0.225,0.259  \end{array} \right)^\top$}        
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.061,0.064,0.021,0.044  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.182$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.040,0.060,-0.210,0.079  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.101$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.049,0.072,0.046,-0.010  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.214$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c}  0.043,0.058,0.226,0.259  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.415$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.035,0.050,0.045,-0.280
  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.083$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.067    0.078   -0.260   -0.310  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.005$}
                node[below]  {}
            }
            edge from parent 
            node[above] {$0.306$}
            node[below]  {}
    }
    child {
        node[bag] {$\left( \begin{array}{c} 0.046,0.076,-0.220,0.026  \end{array} \right)^\top$}        
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.061,0.095,-0.300,-0.190  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.09$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.043,0.081,0.198,0.128  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.332$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.043,0.058,0.394,-0.070  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.079$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.052, 0.070,0.197,0.238  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.231$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.037,0.062,-0.050,0.038  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.263$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.064, 0.100,-0.360,-0.230  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.005$}
                node[below]  {}
            }
            edge from parent 
            node[above] {$0.085$}
            node[below]  {}
    }
    child {
        node[bag] {$\left( \begin{array}{c}  0.067,0.080,-0.260,-0.310
  \end{array} \right)^\top$}        
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.055,0.056,-0.080,-0.370  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.094$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c}  0.048,0.077,0.163,0.119
  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.337$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.093,0.095,0.480,-0.020  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.057$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.064,0.067,0.234,0.372  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.359$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.082,0.095,-0.250,-0.030  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.148$}
                node[below]  {}
            }
            child {
                node[end, label=right:
                    {$\left( \begin{array}{c} 0.096,0.105,-0.360,0.440  \end{array} \right)^\top$}] {}
                edge from parent
                node[above] {$0.005$}
                node[below]  {}
            }
            edge from parent 
            node[above] {$0.005$}
            node[below]  {}
};
\end{tikzpicture}
\end{document}
[/img][/code]

Verfasst: Mi 17. Feb 2016, 16:13
von esdd
Du müssetst level distance für level 1 erhöhen. Aber Deine Abbildung ist jetzt schon zu breit (und zu hoch) für den Satzspiegel.

Vielleicht wäre es sinnvoller den Inhalt der breiten Knoten, die von den Verbindungen geschnitten werden, auf zwei Zeilen zu verteilen?