我有以下 TikZ 图片:
\begin{tikzpicture}[node distance=2cm, scale=0.7, transform shape]
\node (start) [func-entry] {Config.getText(\textbf{key})};
\node (dec1) [decision, below of=start] {\textbf{key} in\\ \emph{localized \_labels?}};
\node (dec2) [decision, right of=dec1, node distance=4cm] {\textbf{key} in\\ \emph{default \_language \_labels?}};
\node (stop) [stop, right of=dec2, node distance=4cm] {Return \textbf{key}};
\node (stop2) [stop, below of=dec1, node distance=2.6cm, xshift=2cm] {Return its value};
\draw [arrow] (start) -- (dec1);
\draw [arrow] (dec1) -- node[anchor=south] {No} (dec2);
\draw [arrow] (dec2) -- node[anchor=south] {No} (stop);
\draw [arrow] (dec1) |- node[anchor=east] {Yes} (stop2);
\draw [arrow] (dec2) |- node[anchor=west] {Yes} (stop2);
\end{tikzpicture}
它与我的具体节点定义类似:
如何添加标签,例如localized_labels = /some/file/path/here到图片的顶部或底部而不影响当前节点的布局?我希望标签包含在图片中(例如,仅在 tikzpicture 之外执行此操作并不理想)。我尝试在 (0,0) 处使用 [draw=none] 绘制一个节点,但它绘制在现有节点的顶部。我想要做的是将当前节点组向下“移动”,然后在顶部添加标签,但不影响当前节点的对齐。
答案1
三条建议:
您可以相对于另一个节点添加它,例如
\node [above=of dec2] {Whatever text you wanted};
这需要
\usetikzlibrary{positioning}
。您可以将其放置在相对于当前边界框的位置:
\node [above=of current bounding box.north] {Whatever text you wanted};
使用此方法,您必须将上述行放在最末尾
tikzpicture
。您可以指定位置。我认为
(0,0)
是没有坐标的节点的默认位置,因此您的start
节点可能位于(0,0)
。因此,您可以执行\node at (2,1) {Whatever text you wanted};
将其放置在节点右侧两个单位处,
start
节点上方一个单位处。