放置树级标签

放置树级标签

我想在我的树的右侧添加一列标签。也就是说,标记“级别 0”、“级别 1”……等等。类似这样的内容:

        *         ... level 0
       / \
      /   \     
     *     *      ... level 1
          / \
         *   *    ... level 2

但是,我甚至不知道如何开始使用它。如果我将节点放在某处并使用它作为参考,则周围的线条会被阴影覆盖(即使我没有在上面放置任何文本)。此外,我仍然不知道如何计算标签应该在的位置。

这棵树是

\coordinate(0)
    child {
       child
       child {
            child
            child
       }
     }

我该如何实现这个?

答案1

在此处输入图片描述

    \documentclass{article}
\usepackage{fancybox}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage[framemethod=tikz]{mdframed}

\newmdenv[
  linecolor=cyan,
  linewidth=2pt,
  roundcorner=5pt,
  innertopmargin=2pt,
  innerbottommargin=2pt,
]{myframe}
\begin{document}

\begin{myframe}
\begin{tikzpicture}[level/.style={sibling distance=60mm/#1}]
\node [circle,draw] (z){$n$}
  child {node[circle,draw](a){a}
        child {node[circle, draw](b){b}}
        child {node[circle,draw](c){c}
              child {node[circle,draw](d){d}}
              child {node[circle,draw](e){e}}
    }
  }
;
\path (a) ++(1.5in,0)coordinate(a0)  node [thick] {$\cdots$} ++(1in,0)  node [] {Level 1};
\node at (b -| a0)(b0) {$\cdots$} (b0)++(1in,0)  node [] {Level 2};
\node at (d -| a0)(d0) {$\cdots$} (d0)++(1in,0)  node [] {Level 3};
\end{tikzpicture}
\end{myframe}

\end{document}

相关内容