Tikz 中的线条标签问题

Tikz 中的线条标签问题

我正在尝试在下面的示例中将标签放置在箭头循环的垂直线中间。

我的乳胶读数

\tikzstyle{block} = [rectangle, draw, text centered, rounded corners, 
text width=6.5em, minimum height=2em, very thick]
\tikzstyle{line} = [draw, -latex', thick]

\begin{center}
\begin{tikzpicture}[node distance = 2cm, auto]
    \node [block] (change) {Lane Changes};
    \node [block, below=0.5cm of change] (single) {Single Lane 
    Update};

    \path [line] (change) -- (single);
    \path [line] (single) -- ++(2cm,0)  node [midway] {hi}|-  
    (change);
\end{tikzpicture}
\end{center}

我只能设法让它位于构成箭头的底部水平线上的中心,如何解决这个问题?

在此处输入图片描述

提前致谢。

答案1

将 放在node路径说明符(即 )之后|-,或路径的最终坐标之后,并使用pos=0.25代替midway。当使用-|/时|-midway/pos=0.5将始终位于线的角落,因此pos=0.25位于路径第一部分的中间。

代码输出

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows}
\tikzset{
  block/.style={rectangle, draw, text centered, rounded corners, 
                text width=6.5em, minimum height=2em, very thick},
  line/.style={draw, -latex', thick}
}
\begin{document}
\begin{center}
\begin{tikzpicture}[node distance = 2cm, auto]
    \node [block] (change) {Lane Changes};
    \node [block, below=0.5cm of change] (single) {Single Lane 
    Update};

    \path [line] (change) -- (single);
    \path [line] (single) -- ++(2cm,0)  |- node [pos=0.25] {hi}
    (change);
    % or
    %\path [line] (single) -- ++(2cm,0)  |- 
    %(change) node [pos=0.25] {hi};
\end{tikzpicture}
\end{center}
\end{document}

相关内容