\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.text,calc,arrows.meta}
\begin{document}
\begin{tikzpicture}
\coordinate (O) at (0,0);
\draw (O) circle (2.5);
\draw (O) circle (1.5);
\draw (O) circle (0.5);
\draw[decoration={text along path,reverse path,text align={align=center},text={ss}},decorate] (0.6,0) arc (0:180:0.6);
\draw[decoration={text along path,reverse path,text align={align=center},text={Nil }},decorate] (1.6,0) arc (0:180:1.6);
\draw[decoration={text along path,reverse path,text align={align=center},text={Nilnt}},decorate] (2.6,0) arc (0:180:2.6);
\end{tikzpicture}
\end{document}
问题:我不想在每个圆圈上写文字,而是想将文字写在圆圈外面,并用彩色数组指向它。
请参阅下面给出的我想要绘制的图像。
答案1
像这样?
\documentclass[tikz,border=5mm]{standalone}
\usepackage{colortbl}
\usetikzlibrary{decorations.text,calc,arrows.meta}
\begin{document}
\begin{tikzpicture}
\coordinate (O) at (0,0);
\node at (O) [blue,draw,circle,minimum size=5cm] (circle3){};
\node at (O) [red,draw,circle,minimum size=3cm] (circle2){};
\node at (O) [draw,circle,minimum size=1cm] (circle1){};
\node[matrix,row sep=8mm] at (4,2) {
\node(Nilnt){\textcolor{blue}{Nilnt}};\\
\node(Nil){\textcolor{red}{Nil}}; \\
\node(ss){ss};\\
};
\draw[<-,blue] (Nilnt)edge[bend right] (circle3.80) ;
\draw[<-,red] (Nil) edge[bend right] (circle2.60);
\draw[<-] (ss) edge[bend right] (circle1.20);
\end{tikzpicture}
\end{document}
答案2
我可能会让圆弧沿切线或正交方向延伸。
\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\begin{tikzpicture}
\coordinate (O) at (0,0);
\draw[blue] (O) circle (2.5);
\draw[green!60!black] (O) circle (1.5);
\draw[red] (O) circle (0.5);
\draw[blue,-latex] (80:2.5) to[out=-10,in=180] (3,2.5) node[right] {Nilnt};
\draw[green!60!black,-latex] (80:1.5) to[out=-10,in=180] (3,1.5) node[right] {Nil};
\draw[red,-latex] (80:0.5) to[out=-10,in=180] (3,0.5) node[right] {ss};
\end{tikzpicture}
\end{document}