节点定位中间点思维导图连接条

节点定位中间点思维导图连接条

我开始使用mindmapTikZ 库来处理思维导图。我想要的是将注释放置在连接两个节点的条的中间点。下面的 MWE 将注释放置在两个节点的中间点(使用包calc),对于不同大小的节点(如本例),注释与连接条的中间点不一致。

平均能量损失

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\usetikzlibrary{mindmap}

\begin{document}
\begin{tikzpicture}[mindmap,concept color=red!50]
\node [concept] (root) {Root concept} child[clockwise from=30] {node[concept] (child) {Child concept}};
\node[annotation,fill=black!40,above,align=center,text width=0.5cm,rotate=30] at ($(root.center)!0.5!(child.center)$) {text};
\end{tikzpicture}
\end{document}

结果是:

MWE

我确信可以访问连接杆中间点的精确坐标,但还没有找到方法(知道每个节点的半径确实有帮助,这可能吗?)。

任何帮助都将不胜感激。提前谢谢您。

答案1

从一个节点到另一个节点创建一条路径,并将节点放置在该路径的中间,然后使用节点的边缘。添加sloped而不是rotate=<angle>,节点将自动旋转。

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\usetikzlibrary{mindmap}

\begin{document}
\begin{tikzpicture}[mindmap,concept color=red!50]
\node [concept] (root) {Root concept} child[clockwise from=30] {node[concept] (child) {Child concept}};
\path (root) -- node[annotation,fill=black!40,above,align=center,text width=0.5cm,sloped] {text} (child);
\end{tikzpicture}
\end{document}

enter image description here

相关内容