Размещение узлов посередине пути с использованием |- или -| в 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

При использовании -| и |- середина (или поз.=.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}

демо

Связанный контент