默认情况下,角度的标签位置是在通过圆弧中点的射线处。有没有办法将标签放在具有特定极坐标的点上?
这样做的原因是,当射线太多时,改变标签pos
不一定能使标签适合正确的位置。必须改变标签的弧线位置。
我尝试过pos={(20:1.1)}
,但没有成功(即我尝试将标签放在角度为 20 度、长度为 1.1 的极坐标上)。
\documentclass{article}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}%IMPORTANT--recognizes points, lines, circles, etc
\usetikzlibrary{angles,quotes,bending}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=1]
\tkzDefPoint(1, 2){A}
\tkzDefPoint(3, 1){B}
\tkzDefPoint(0,0){O}
\tkzDrawSegment(O,A)
\tkzDrawSegment(O,B)
\tkzMarkAngle[arc=ll,size=.85 cm](B,O,A)
\tkzLabelAngle[pos=1.1](A,O,B){$\beta$}
\end{tikzpicture}
\end{center}
\end{document}
答案1
中的坐标变换tikz
是可加的(在合理范围内)。也就是说,您可以绝对提供坐标(上述内容),根据不相关的要求()\tkzDefPoint
绘制一条相对于坐标的线( ),沿此路径添加位置标签。此处的位置由给出,从而得出沿路径的相对位置。然后可以使用(可以采用径向坐标)和/进一步细化此位置。请注意,此处的顺序可能很重要。此外,您还可以使用、、、关键字,这些关键字为您提供预定义的移位(在笛卡尔网格上;必须在任何数值移位之前给出)。 位置词例如、等与和 冲突,不能同时使用,将采用最后给出的参数。tkzMarkAngle
[size]
[pos=]
[shift={(coordinate)}]
xshift=
yshift=
above
left
right
below
at end
very near end
pos=
tikz
因此,如果您给出[pos=1.1, shift={(20:0.2)}, xshift=0.1]
,tikz
将会忠实地沿着您的路径转到位置 1.1,在 20° 方向上将位置移动 0.2,然后在 x 轴上将其移动 0.1。
补充一下:通常,pos
参数从 0 到 1,如果可能的话,在两个方向上都有逻辑延伸。我认为在这里起作用的原因与定义的pos=1.1
方式有关。tkzMarkAngle