在 tikz 中使用 |- 或 -| 将节点放置在路径中间

在 tikz 中使用 |- 或 -| 将节点放置在路径中间

我经常在图表中使用|--|计算点,如下所示:

\coordinate (a) at (0,0);
\foreach \x in (1,...,10) {
    \coordinate (b) at ({whateverFunction(\x)},{whateverOtherFunction(\x)});
    \draw (a) |- (b); %Straight line segment
    \draw (b) -| (a); %Another straight line segment
    \coordinate (a) at (b);
}

得到如下图所示的图表: 在此处输入图片描述

我希望能够标记每个线段的中点,但这样做node[midway,above] {a}并不像预期的那样:

在此处输入图片描述

我想要这样的东西:

在此处输入图片描述

为什么不起作用midway,这里有一个好的解决方法吗?

答案1

使用 -| 和 |- 时,中点(或 pos=.5)被定义为两条腿相交的点,无论两条腿有多么不平整。

\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (3,1);
\draw (a) |- node[pos=.25,left]{A}
  node[pos=.5,above left]{B}
  node[pos=.75,above]{C} (b);
\end{tikzpicture}
\end{document}

演示

相关内容