在 tikz 文档中均匀显示一组节点的技巧

在 tikz 文档中均匀显示一组节点的技巧

为了复制下面的图片(即均匀分布的节点 a、b、c、d - 并且我将来可能希望有多行,而不仅仅是一行),可以执行以下其中一项操作: 在此处输入图片描述

  1. 手动对每个节点的坐标进行硬编码(这是我所做的,因为我不太了解 tikz / latex);
  2. 创建一个从左到右的隐形箭头,然后利用pos=0pos=0.33pos=0.66均匀pos=1显示行内的节点;
  3. 使用矩阵?我认为只要我可以设置矩阵宽度/高度,并且节点实际上能够均匀分布,这种方法就可以奏效。我不知道这是否可行?
  4. 还有其他方法吗?也许使用树木?

这是一个相当知名的情况,所以我正在寻找解决这个问题的最佳方法。

谢谢

答案1

是的,矩阵可以让你做到这一点。我为屋顶添加了一个样式,这样你就可以完全专注于矩阵的内容。

\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[roof/.style={path picture={
\draw[#1] ([xshift=\pgflinewidth/2]path picture bounding box.south west)
|- ([xshift=-\pgflinewidth/2,yshift=-\pgflinewidth/2]path picture bounding box.north east)
-- ([xshift=-\pgflinewidth/2]path picture bounding box.south east);
}}]
 \matrix[matrix of nodes,nodes in empty cells,{nodes={text width=1cm,align=center}},
 roof=dashed,label={[anchor=south west]north west:Artifactory/Nexus}]
 { a & b & c & d \\
  & & & \\ };
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容