创建后更改节点标签

创建后更改节点标签

我必须在我的 TikZ 图片中放置几个​​节点,因此我使用 来创建它们,\foreach并为它们命名(在 中定义了一个 ID 变量\foreach)。现在我的问题是创作后我想编辑节点的标签,只需使用我给它起的名字即可。类似

\node (thatParticularNode) {myLabel};

这可能吗?或者我唯一的机会是单独绘制每个节点?

答案1

pgfkeys系统中,处理程序/.try会尝试执行预定义的代码。如果失败,即密钥尚未定义,它将被视为不存在。

另一方面,如果/.retry在调用 之后立即调用/.trypgfkeys则只有后者失败时才会尝试前者。也就是说,有一个通用框架

\pgfkeys{
    Did I set this special key?/ ID:289668/ let us/.try,
    In case it fails, we still have a fallback/.retry
}

以下是一个例子

\documentclass[border=9,tikz]{standalone}
\begin{document}

\tikzset{
    node content/normal/.code={(\i,\j)},
    node content/3/5/.code= \LARGE\color{red} I like this node
}

\tikz[nodes={inner sep=0},scale=3]{
    \draw foreach\i in{1,...,10}{
        foreach\j in{1,...,10}{
            (\i,\j)node[circle,draw,minimum size=rnd*100]{
                \tikzset{node content/\i/\j/.try}
                \tikzset{node content/normal/.retry}
            }
        }
    };
}

\end{document}

相关内容