TikZ:在箭头上叠加文字

TikZ:在箭头上叠加文字

我正在尝试使用 TikZ 将一些文本叠加在箭头上。我知道可以将文本超过箭头,但这不是我想要达到的目的。

到目前为止我所做的是:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture} 
  \node(n1){n1};
  \node(n2)[below right=3cm and 3cm of n1]{n2};
  \draw[->] (n1) -- node[sloped, fill=white]{Text} (n2);
\end{tikzpicture}
\end{document}

但是,这只适用于白色背景。有没有更好的方法可以获得相同的效果?

答案1

一种可能性是将draw文本作为节点。您可以在帮助下放置它path。放置完所有节点后,draw箭头。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture} 
  \node(n1){n1};
  \node(n2)[below right=3cm and 3cm of n1]{n2};
  % this path will place/draw a node call (text)
  \path (n1) -- node[sloped] (text) {Text} (n2);
  % Now draw arrows. This way it will be like you want.
  \draw[->] (n1)--(text)--(n2);
  % If you use two draw commands, will get two arrows.
  %\draw[->] (n1)--(text);
  %\draw[->] (text)--(n2);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容