如何有选择地避免绘制边缘?

如何有选择地避免绘制边缘?

使用 tikz\graph宏时,是否可以选择性地不是绘制其中一条边?例如,在下图中,是否可以跳过绘制 b 和 a 之间的边?我试过了,edge from parent但没有用。

最小图

这是一个简单的例子:

\documentclass[crop]{standalone}

\usepackage{tikz}
\usetikzlibrary{graphdrawing}
\usetikzlibrary{graphs}
\usegdlibrary{trees}

\tikzset{vertex/.style={
    anchor=center,
    circle,
    draw
  }
}

\begin{document}
\tikz \graph [
  binary tree layout,
  nodes={vertex},
] {
  b -- {
    a,
    c
  }
};
\end{document}

答案1

你可以用键改变进入节点的边target key style这意味着你可以应用图运算符-!-对于单个目标:

target key style = -!-

为了方便起见,存在第一个字符处理程序>,将其参数转发给target key style

> -!-

代码

\documentclass[crop]{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{trees}

\tikzset{vertex/.style={anchor=center, circle, draw}}
\begin{document}
\tikz \graph [binary tree layout, nodes=vertex] {
  b -- { a[target edge style = -!-],
         c }
};
\tikz \graph [binary tree layout, nodes=vertex] {
  b -- { a[> -!-],
         c }
};
\end{document}

相关内容