1

我正在努力在 LaTex/TikZ 中创建一个思维导图,其中的节点不是显示为框、圆或椭圆。有没有办法使用六边形作为孩子创建思维导图?孩子们应该连接到角落。父母和孩子应该包含一个简短的文本

我试过使用形状包。

提前谢谢你,Pjotr

4

1 回答 1

3

更改子节点的形状很容易,您可以简单地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!)

于 2019-11-03T14:22:47.113 回答