2
\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}

Question: Instead of writing the text on the each circle, I want to write it outside the circle with an colored array pointing to it.

See the image given below which is what I want to draw.

enter image description here

4

Like this?

screenshot

\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}
0

I would probably let the arcs go out in tangential or orthogonal directions.

\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}

enter image description here

  • What, no orthogonal version? – John Kormylo Mar 8 at 18:40
  • @JohnKormylo One only needs to add +90... – marmot Mar 8 at 19:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.