我正绞尽脑汁地在LaTex/TikZ中创建一个正念图,而不是将节点显示为框、圆圈或椭圆。有没有一种方法可以用六边形作为孩子来创建一个正念图?孩子们应该与拐角相连。父母和孩子应该包含一个简短的文本。
我试过用形状包。
预先谢谢你,普约特
发布于 2019-11-03 14:22:47
更改子节点的形状很容易,您可以简单地使用形状库中的regular polygon, regular polygon sides=6。然而,更改根节点和六边形之间的连接要困难得多(至少对于我们这些普通人来说,tikz向导可以做到这一点,参见https://tex.stackexchange.com/a/514772/36296)。
相反,您可以使用普通节点来模拟正念图:
\documentclass[margin=0.3cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}
\def\nchilds{5}
\node[fill=blue,text=white,circle,minimum size=3cm] at (0,0) (root) {Root};
\foreach \x [count=\xi] in {test1, test2, test3, test4, test5}{
\shade[left color=red,right color=blue,shading angle={(360/\nchilds*\xi)-90}]
({(360/\nchilds*\xi)+3}:3.2cm) to [in=160,out=10,relative]
({(360/\nchilds*\xi)+10}:1.45cm) -- ({(360/\nchilds*\xi)-10}:1.45cm) to [in=170,out=20,relative] ({(360/\nchilds*\xi)-3}:3.2cm);
\node[regular polygon, regular polygon sides=6,fill=red,minimum width=2cm,shape border uses incircle,shape border rotate=(360/\nchilds*\xi)] at (360/\nchilds*\xi:4cm) {\x};
}
\end{tikzpicture}
\end{document}

(非常感谢@marmot对shape border rotate的暗示!)
https://stackoverflow.com/questions/58680173
复制相似问题