6

In my MWE :

  • why line width=0pt doesn't work ?
  • why the dashed argument on a level leeks on the next ?

enter image description here

\documentclass[tikz]{standalone}
\usetikzlibrary{trees}

\begin{document}

\begin{tikzpicture}[level distance=5mm,
    level 1/.style={sibling distance=32mm,line width=0pt},
    level 2/.style={sibling distance=16mm,dashed},
    level 3/.style={sibling distance=8mm,level distance=12mm},
    %level 4/.style={sibling distance=7mm},
    %every fit/.style={rectangle,draw,inner sep=3.5pt},
    grow=right]

\scriptsize
\node {$\bullet$}
child {node {P}
        child {node{PP}
            child {node{PPP}}
            child {node{PPF}}
        }
        child {node{PF}
            child {node{PFP}}
            child {node{PFF}}
        }
    }
child {node {F}
        child {node{FP}
            child {node{FPP}}
            child {node{FPF}}
        }
        child {node{FF}
            child {node{FFP}}
            child {node{FFF}}
        }
    } ;
\end{tikzpicture}

\end{document}
6
  • line width=0pt is invisible. try instead such it definition to use draw=none (effect should be the same).
    – Zarko
    Apr 25 '14 at 7:25
  • @Zarko Doesn't work at all.
    – Tarass
    Apr 25 '14 at 7:31
  • @HarishKumar Maybe you can cheat a png picture ;-) but in pdf with evince viewer, the line is still here.
    – Tarass
    Apr 25 '14 at 7:34
  • @HarishKumar what does it mean ? sorry for my poor english.
    – Tarass
    Apr 25 '14 at 7:55
  • What does 'scrap that' means, I appologize for my poor english, I can't understand what you said.
    – Tarass
    Apr 25 '14 at 8:03
6

You have to change the edge from parent style

\documentclass[tikz,margin=5mm]{standalone}
\usetikzlibrary{trees}

\begin{document}

\begin{tikzpicture}[level distance=5mm,
    level 1/.style={sibling distance=32mm,
      edge from parent/.style={draw=none}},
    level 2/.style={sibling distance=16mm,
      edge from parent/.append style={draw,dashed}},
    level 3/.style={sibling distance=8mm,level distance=12mm,
      edge from parent/.append style={solid}},
    %level 4/.style={sibling distance=7mm},
    %every fit/.style={rectangle,draw,inner sep=3.5pt},
    grow=right]

\scriptsize
\node {$\bullet$}
child {node {P}
        child {node{PP}
            child {node{PPP}}
            child {node{PPF}}
        }
        child {node{PF}
            child {node{PFP}}
            child {node{PFF}}
        }
    }
child {node {F}
        child {node{FP}
            child {node{FPP}}
            child {node{FPF}}
        }
        child {node{FF}
            child {node{FFP}}
            child {node{FFF}}
        }
    } ;
\end{tikzpicture}

\end{document}

enter image description here

2
  • Is there any way I can apply the edge from parent style only to one level and have all others assume the default?
    – oarfish
    Nov 26 '14 at 18:08
  • If only the second level should be dashed you could use: level/.style={edge from parent/.style={draw,solid}}, and level 2/.style={edge from parent/.append style={dashed}}.
    – esdd
    Nov 27 '14 at 9:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.