tikz 中缺少图形节点

tikz 中缺少图形节点

我尝试运行以下代码来获取图表:

  \node {v1}
child { node {v2} 
child { node {v5}
child { node {v10}}
child { node {v11}}}
child { node {v6}
child { node {v12}}}}
child { node {v3}
  child { node {v7}
    child { node {v13} }
    child { node {v8}}}
 child { node {v4}
 child { node {v9}}};

但我得到了 2 个缺失节点:v6 和 v12,并且 v2 也连接到 v7。问题是 v7 绘制在 v6 上,而 v13 绘制在 v12 上。我该如何避免这种情况?

答案1

请始终提供完整的小文档(MWE:最小工作示例),以便我们按原样进行测试。顺便说一句,}如果我将其扩展为 MWE,您的代码片段中缺少一个,因此无法编译。因此解决方案是添加缺少的花括号并更改每个树级别的兄弟距离:

\documentclass[tikz, border=3.141592]{standalone}

\begin{document}
    \begin{tikzpicture}[
level/.style={sibling distance=24mm/#1}
                        ]
\node {v1}
    child { node {v2}
        child { node {v5}
            child { node {v10}}
            child { node {v11}}
                }
        child { node {v6}
            child { node {v12}}
                }
            }
    child { node {v3}
        child { node {v7}
            child { node {v13}}
        child { node {v8}}
             }
    child { node {v4}
        child { node {v9}}
            }
        };
    \end{tikzpicture}
\end{document}

在此处输入图片描述

或者更简单的forest包:

\documentclass[border=3.141592]{standalone}
\usepackage{forest}

\begin{document}
    \begin{forest}
for tree = {l sep=6mm, % level separation
            s sep=3mm  % sibling separation
            }
[v1
    [v2 
        [v5
            [v10]
            [v11]
        ]
        [v6
            [v12]
        ]
    ]
    [v3
        [v7
            [v13]
            [v8]
        ]
        [v4 
            [v9]
        ]
    ]
]
    \end{forest}
\end{document}

在此处输入图片描述

相关内容