LaTeX 树形图绘制指南
使用 tikz 包绘制树形图
基本结构
以下是使用 tikz 绘制树形图的基本结构:
\documentclass[10pt]{article}
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{document}
\begin{tikzpicture}
% 绘制树的代码放在这里
\end{tikzpicture}
\end{document}
绘制简单的树
以下示例展示如何绘制一颗简单的树:
\begin{tikzpicture}
\node {root}
child {node {1}}
child {node {2}}
child {node {3}}
child {node {4}};
\end{tikzpicture}
效果如下:

绘制森林
在 tikz 中,可以通过创建多个树来构成一片森林:
\begin{tikzpicture}
\node {parent}
child {node {child 1}}
child {node {child 2}}
child {node {child 3}}
child {node {child 4}};
\end{tikzpicture}
\begin{tikzpicture}
\node at (0,2) {z}
child {node {a}}
child {node {b}}
child {node {3}}
child {node {4}};
\end{tikzpicture}
效果如下:

绘制二叉树
绘制基础的二叉树:
效果如下:

自定义颜色和样式
可以自定义节点和边的颜色、样式等:
\begin{tikzpicture}
\node [red] {parent}
child [blue] {node {child 1}}
child [green] {node {child 2}};
\end{tikzpicture}
效果如下:

调整节点样式
可以通过设置 tikzpicture 的属性来调整节点样式:
\begin{tikzpicture}[level/.style={sibling distance=72pt, level distance=72pt},
every node/.style={align=center, inner sep=0, minimum size=50pt}]
\node [draw, circle] {parent}
child {node[draw, circle] {child 1}}
child {node[draw, circle] {child 2}};
\end{tikzpicture}
效果如下:

解决节点圆重叠问题
如果节点内容较长导致圆圈重叠,可以通过调整 sibling distance 和 level distance 来解决:
\begin{tikzpicture}[level/.style={sibling distance=150pt/#1, level distance=72pt},
every node/.style={align=center, inner sep=0, minimum size=55pt}]
\node [draw, circle] {pareakg,\\jgasjhgant}
child {node[draw, circle] {childjasgfi1}}
child {node[draw, circle] {childbafjskh,k2}};
\end{tikzpicture}
效果如下:

使用 tikz-qtree 包绘制树形图
基本结构
以下是使用 tikz-qtree 绘制树形图的基本结构:
\documentclass[10pt]{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}
\begin{tikzpicture}
% 绘制树的代码放在这里
\end{tikzpicture}
\end{document}
绘制简单的树
使用 tikz-qtree 绘制简单的树:
效果如下:

绘制森林
在 tikz-qtree 中,可以通过多个 tikzpicture 环境来绘制森林:
\begin{tikzpicture}
\Tree [.1 [.2 ] [.3 ] [.4 ] [.5 ]]
\end{tikzpicture}
\begin{tikzpicture}
\Tree [.1 [.2 ] [.3 ] [.4 ] [.5 ]]
\end{tikzpicture}
效果如下:

绘制二叉树
绘制基础的二叉树:
效果如下:

自定义样式
可以自定义边的样式和节点的样式:
\begin{tikzpicture}[dashed]
\Tree [.1 [.2 ] [.3 ]]
\end{tikzpicture}
\begin{tikzpicture}[semithick,->]
\Tree [.1 [.2 ] [.3 ]]
\end{tikzpicture}
效果如下:

绘制复杂二叉树
绘制复杂的二叉树可以通过嵌套子树来实现:
效果如下:

参考资料
通过以上指南,你可以使用 LaTeX 中的 tikz 和 tikz-qtree 包轻松绘制各种树形图。