使用 tikz 在边缘上相对放置节点

使用 tikz 在边缘上相对放置节点

如何放置相对于边的节点?使用--运算符可以轻松使用线,有没有办法在边上实现相同的效果?

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[node distance=5cm]
    \node(A){A};
    \node[right of=A](B){B};
    \node[below of=A, node distance=2cm](C){C};
    \node[right of=C](D){D};

    \draw (A) -- (B) node[midway, above]{this works};
    \draw (C) edge[out=-90, in=-90] (D) node[midway, below]{this not};
\end{tikzpicture}

\end{document}

答案1

如果您在边的末尾之前指定节点,您的 MWE 将按预期工作。这也适用于to路径操作(手册部分:)The To Path Operation而不是edge

\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}[node distance=5cm]
    \node(A){A};
    \node[right of=A](B){B};
    \node[below of=A, node distance=2cm](C){C};
    \node[right of=C](D){D};

    \draw (A) -- (B) node[midway, above]{this works};
    \draw (C) edge[bend right] node[below]{and this works} (D);
    \draw[out=-90, in=-90] (C) to node[below]{this also works} (D);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容