![如何有选择地避免绘制边缘?](https://linux22.com/image/460521/%E5%A6%82%E4%BD%95%E6%9C%89%E9%80%89%E6%8B%A9%E5%9C%B0%E9%81%BF%E5%85%8D%E7%BB%98%E5%88%B6%E8%BE%B9%E7%BC%98%EF%BC%9F.png)
使用 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}