TikZ: Textweite in Knoten erhöhen

Tabellen und Grafiken erstellen und anordnen


BrokiX

TikZ: Textweite in Knoten erhöhen

Beitrag 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]

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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?

Antworten