如何在节点内部进行操作?

如何在节点内部进行操作?

我有一张超出比例的图表,但我想将它用于我正在准备的课程。要使用它,我只需要更改轴上的数字。我想让每个 x 都乘以 2。我试过了,但没有用。

\foreach \x in {-6,-3,...,6}
            \draw (\x,-6.25) node{2*\x};

图像中轴上只出现了“2*x”。有人知道如何在节点内部操作吗?

答案1

这里有几个选项:

  1. 使原始数字正确并在坐标中进行计算。这是可行的,因为坐标已经经过表达式求值器。

    \foreach \x in {-12,-6,...,12}
            \draw (\x/2,-6.25) node{\(\x\)};
    
  2. 在可选选项中做一个额外的计算\foreach

    \foreach[evaluate=\x as \nodeLabel using \x*2] \x in {-6,-3,...,6}
            \draw (\x,-6.25) node{\(\nodeLabel\)};
    
  3. 将节点内容放入数学解析器。由于此操作不会自动完成,因此必须明确执行。

    \foreach \x in {-6,-3,...,6}
            \draw (\x,-6.25) node{\pgfmathparse{\x*2}\(\pgfmathresult\)};
    

哪个最好取决于你。在这种情况下,它们几乎都一样。如果你继续在其他地方使用重新计算的数字,那么中间那个每次迭代只计算一次,这可能会节省几纳秒。

相关内容