TikZ:将文本节点放置在循环路径的中间

TikZ:将文本节点放置在循环路径的中间

我使用循环路径绘制了一个箭头。我想在中间放置一个文本节点(相对于X轴)。

\documentclass{scrartcl}
    \usepackage{tikz}
\begin{document}
    \begin{tikzpicture}
        \draw (4,0.25) -- ++(0,2.5) -- ++(-.25,0) -- ++(.5,.5) -- ++(.5,-.5) --++(-.25,0) -- ++(0,-2.5) -- cycle;
        \node at (4.25,1.5) [rotate=90, anchor=center] {\textbf{here!}};
        \draw (6,0.25) -- ++(0,2.5) -- ++(-.25,0) -- ++(.5,.5) -- ++(.5,-.5) --++(-.25,0) -- ++(0,-2.5) -- cycle node [pos=.5, rotate=90] {not there};
    \end{tikzpicture}
\end{document}

在此处输入图片描述

我努力了pos=.5(如\draw (0,0) rectangle (1,1) node [pos=.5] {here!};)和midway(如\draw (0,0) -- (1,1) node [midway] {here!};)但它不起作用......

答案1

您需要将节点放在正确的路径上......

在此处输入图片描述

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{shapes.arrows}

\begin{document}
    \begin{tikzpicture}
        \draw (4,0.25) -- ++(0,2.5) -- ++(-.25,0) -- ++(.5,.5) -- ++(.5,-.5) --++(-.25,0) -- ++(0,-2.5) -- cycle;
        \node at (4.25,1.5) [rotate=90, anchor=center] {\textbf{here!}};

        \draw (6,0.25) -- node [text=red, sloped,below=-0.5pt] {I'm here} ++ (0,2.5) -- ++(-.25,0) -- ++(.5,.5) -- ++(.5,-.5) --++(-.25,0) -- ++(0,-2.5) -- cycle;

       \node[single arrow, draw, text=blue,
  minimum height=30mm, single arrow head extend=2.5mm,
  rotate=90,anchor=west]   at (8,0.25) {I'm in node};

    \end{tikzpicture}
\end{document}

但是,看看形状single arrow(包shapes.arrows)的使用是否更适合您的需求。添加了其使用示例(最右边的箭头)。

相关内容