Tikz 图形强制节点处于特定级别

Tikz 图形强制节点处于特定级别

我对 tikz 还不熟悉,但发现了图表库,它对我的​​目的非常有用。我用它来绘制一种树形的无环有向图(请原谅我的术语匮乏!;)因此,对于如下代码:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing}
\usegdlibrary{trees}
\begin{document}
  \begin{tikzpicture}
  \graph[tree layout, sibling distance=1.3in]{
    "0" -> {"1" -> [edge label=Sub] "4" -> [edge label=Sub] {"2","3"}};
    "2" -> [edge label=Crd, swap] "3";
  };
  \end{tikzpicture}
\end{document}

我得到了预期的输出:

在此处输入图片描述

但是当我做类似的事情时

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{graphs,graphdrawing}
\usegdlibrary{trees}
\begin{document}
\begin{tikzpicture}
  \graph[tree layout, sibling distance=1.3in]{
    "0" -> [edge label=Sub] {"1" -> [edge label=Sub] "2","3"};
    "2" -> [edge label=Crd, swap] "3";
  };
  \end{tikzpicture}
\end{document}

我得到:

在此处输入图片描述

尽管我实际上想要的是从 2 到 3 的边以 90 度角绘制,或者换句话说,我想强制节点 3 与 2 处于同一水平。

编辑:我简化了图表,并在这里对图表属性做了一些注释,以帮助解释我的问题。基本上,在我的框架中有两种边,从属边支配结构中的节点(并且可以用角度绘制),而协调边需要是水平的。这种格式良好的图表有一个约束,即可能永远不会有两个协调边从同一个节点开始(而对于从属边,这是允许的)。这应该允许协调边始终水平绘制。我可以用任何方式在 tikz 上施加这些约束吗?

相关内容