我正在尝试将节点定位在抛物线曲线上。但是,tikz 似乎无法计算中间位置。以下示例均不起作用:
\begin{tikzpicture}
\draw (-1,0) parabola[parabola height=2cm] (3,0)
node[sloped, above, pos=0.5] {0.5};
\end{tikzpicture}
\begin{tikzpicture}[to path={
parabola[parabola height=2cm] (\tikztotarget) \tikztonodes}]
\draw (0,0) to
node[above, sloped] {0.5} (3,0);
\end{tikzpicture}
有什么建议吗?谢谢!
答案1
摘自 TikZ 手册(v2.10 中的第 16.8 节“明确地将节点放置在直线或曲线上”):
最简单的情况下,前面的路径操作是“线到”操作,也就是——坐标操作[...]
下一种情况是曲线到操作(..操作)。[...]
另一个有趣的例子是水平/垂直线到操作 |- 和 -|。对于它们来说,位置(或时间) 0.5 恰好是角点。[...]
对于所有其他路径构建操作,位置放置不起作用目前是这样。希望将来这种情况会有所改变(尤其是弧操作)。
(重点是我的)
因此,您要么手动定位节点,要么使用明确的贝塞尔曲线绘制抛物线。