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

-| と |- の場合、2 本の脚の不均一さに関係なく、中間 (または pos=.5) は 2 本の脚が交わる点として定義されます。

\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}

デモ

関連情報