我有两个变量之间的线性方程,比如b(a)=2a+3
,我想用这个方程来确定在哪里放置标记,作为一个函数。例如:
\node at (0,b{1}) {};
将其置于 (0,5)
答案1
您可以直接使用计算,例如
\node at (0, 2*1 + 3) {};
或者在 a 中声明一个函数,或者将\tikzset
a 的可选参数声明为tikzpicture
declare function={b(\x) = 2*\x + 3;}
然后使用
\node at (0, {b(1)}) {};
请注意,您对函数参数使用了括号,并且需要在整个 y 坐标周围使用一对花括号来“隐藏”解析器中函数调用中的括号,否则函数的)
将会与)
坐标的 混淆。
\documentclass{article}
\usepackage{tikz}
\tikzset{
declare function={ % these functions are available everywhere
a(\x) = 2*\x + 3; % note ending semicolons
b(\x) = 5*\x - 2;
}
}
\begin{document}
\begin{tikzpicture}[
declare function={c(\x) = -3*\x;} % this is only available in this tikzpicture
]
\node (a) at (0, {a(0)}) {a};
\node (b) at (0, {b(0)}) {b};
\node (c) at (0, {c(0)}) {c};
\end{tikzpicture}
\end{document}