如何将节点放置在圆弧的中间?

如何将节点放置在圆弧的中间?

我认为这是一个简单的问题,但我还没有找到答案。我使用的代码如下:

\draw[->](1,0) arc(0:-30:1) node[midway]{$30$};

但是这样节点就被放置在原点而不是圆弧的中间。

注意:必须用 来完成arc

答案1

自 2012-03-01 起,感谢 Till Tantau,现在可以直接使用pgf-tikz 的 cvs 版本. 它已被包含在 pgf-tikz 的稳定版本中。

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \draw[->](1,0) arc(0:-30:1) node[midway]{$30$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

它之所以显示在原点,是因为 TikZ 没有明确的第二个坐标可以通过 进行插值pos。一个解决方案是,粗略地说,arc通过markings库参数化路径。这只是对我之前的回答用节点标记路径。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[
arcnode/.style 2 args={                
            decoration={
                        raise=#1,             
                        markings,   
                        mark=at position 0.5 with { 
                                    \node[inner sep=0] {#2};
                        }
            },
            postaction={decorate}
}
]
\draw[->, arcnode={20pt}{$30$} ] (0,0) arc (0:-30:2cm) ;
\end{tikzpicture}
\end{document}

带偏移标签的标记曲线

由于某种原因,当曲线路径变得太短时(例如,您的示例路径在1.095cm圆弧半径之后开始工作),它会出现错误Dimension too large,所以可能这里有一个我还不知道的细节。直线路径不是这种情况。

答案3

问题取自:在 TikZ 中在圆弧上方绘制居中标签


这是解决这个问题的另一种方法。这样,那里是另一个第二个坐标。

\documentclass[tikz,border=5pt]{standalone}
\begin{document}
\begin{tikzpicture}
    \draw[green] (1,0) arc[radius = 1, start angle=0, end angle=90] node[above] {H} arc[radius = 1, start angle=90, delta angle=90];
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案4

该解决方案不依赖于弧,但对于寻找简单解决方案来绘制带有居中标签的曲线的人来说可能会有所帮助。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path[->] (1,0)  edge  [bend left=20]  node[above] {$30$} (2,0);
\end{tikzpicture}
\end{document}

在此处输入图片描述

改变“左弯”可以调整曲率。

相关内容