我对 TikZ 还很陌生,看了一个示例图:http://www.texample.net/tikz/examples/prims-algorithm/
为了演示,我需要在某个迭代中用另一个顶点替换一个顶点。我尝试执行以下操作:
\foreach \pos/\name \fr in {{(0,1)/1/1}, {(0,1)/2/2}}
\node<\fr->[vertex] (\name) at \pos {$\name$};
这应该会在第二次迭代中用顶点“2”替换顶点“1”。但是它不起作用,因为似乎第一个顶点覆盖了第二个顶点。如果我更改第二个顶点的坐标,它确实会出现在第二次迭代中(只是不在正确的位置,顶点“1”仍在那里)。我怎样才能让第一个顶点在第二次迭代中消失?
答案1
我不确定我是否可以从该链接复制代码。但是,我做了以下更改:
\usetikzlibrary{backgrounds}
既不使用arrows
也不shapes
使用。包也不使用verbatim
。
删除层的声明。
改成:\tikzstyle
\tikzset
\tikzset{
style 1/.style = {settings go here},
style 2/.style = {settings go here},
style 3/.style = ...
}
添加
\foreach \pos / \name / \fr in {{(0,1)/1/1}, {(0,1)/2/2}}
\node<\fr->[vertex] (\name) at \pos {$\name$};
后\end{pgfonlayer}
。
改成。\begin{pgfonlayer}
\begin{scope}[on background layer]
改成。\end{pgfonlayer}
\end{scope}
大多数这些更改只是将代码更新为现在推荐的语法,并使用现在可用的库,backgrounds
而不是自己旋转。
我想发布一张图片,但我不确定是否允许。