在发帖之前,我浏览了 Tikz 手册,但找不到任何关于此的内容。我想绘制一个螺旋,其中有沿路径的锚文本节点。我目前有
\begin{tikzpicture}
\draw[thick,color=red,domain=4*pi:8*pi,samples=200,smooth] plot (xy polar cs:angle=\x r,radius= {0.1*\x});
\foreach \x/\xtext in {{27*pi/6}/Text on outside,{33*pi/6}/now on inside =(}
\draw (1.0027*\x r : 0.1*\x) circle (2pt) node[above] {\xtext};
\end{tikzpicture}
不幸的是,我无法上传上述代码的结果图像(每次尝试上传时都会遇到错误)。
指定node[above]
意味着文本将出现在螺旋线的一半内部,而另一半出现在外部。我可以(可能必须)手动指定每个节点锚点的位置,但我想知道是否有办法确保锚点始终位于外部(或内部)。
谢谢你的帮助。
答案1
如果需要指定多个点,则测试的值\x
并据此确定节点标签的位置可能会更容易。例如:
\documentclass[tikz,border=20pt]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[thick,color=red,domain=4*pi:8*pi,samples=200,smooth] plot (xy polar cs:angle=\x r,radius= {0.1*\x});
\foreach \x/\xtext in {{9/2}/Text on outside,{11/2}/Still outside,{13/2}/Yet more outside text,{15/2}/Further outside text}
\pgfmathsetmacro\xresult{ (mod(\x,2) > 1) ? "below" : "above" }
\draw (1.0027*pi*\x r : 0.1*pi*\x) circle (2pt) node[\xresult] {\xtext};
\end{tikzpicture}
\end{document}
答案2
只需进行小幅扩展即可cfr 的答案。节点的锚点可以设置为螺旋线的角度加上pi
任意角度:
\documentclass[tikz,border=5]{standalone}
\begin{document}
\begin{tikzpicture}
\draw [thick, color=red]
plot [domain=4*pi:8*pi, samples=200, smooth] (\x r:0.1*\x);
\foreach \x in {16,...,32}
\fill (pi r * \x/4 : pi/10*\x/4) circle [radius=1pt]
node [anchor=pi r * \x/4 + pi r, inner sep=2] {\tiny$\frac{\x}{4}\pi$};
\end{tikzpicture}
\end{document}