\documentclass{standalone}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{parskip}
\usepackage[usenames,dvipsnames]{color}
\usepackage[hidelinks]{hyperref}
\renewcommand*{\familydefault}{\sfdefault}

\usepackage{bbm} %For \mathbbm{1}
%\usepackage{bbold}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[scale=0.8]
    \def\r{4};
    \def\step{15};

    % Line and circles
    \foreach \a in {0,...,23} {
        \draw[-] ({\a*\step}:\r) -- ({(\a+1)*\step}:\r);
        \draw ({\a*\step}:\r) circle (0.05);
    }

    % Red dots
    \foreach \a in {2,3,6,8,9,10,11,14,15,17,20} {
        \draw[fill,red] ({\a*\step}:\r) circle (0.09);
    }
    % Blue squares
    \foreach \a in {2,3,20} {
        \draw[fill,blue] ({\a*\step}:{\r-0.3})+(-0.1,-0.1) rectangle +(0.1,0.1);
    }
    % Green triangles
    \foreach \a in {6,8,9,10,11,14,15,17} {
        \draw[fill,green] ({\a*\step}:{\r-0.3}) +(-0.15,-0.1) -- +(0.15,-0.1) -- +(0,0.15);
    }

    % Legend
    \draw (-1,0)+(-0.5,-1) rectangle +(2.6,1);
    \draw[fill,red]   (-1.1,0.5)  circle (0.09);
    \draw[fill,blue]  (-1.1,0)    +(-0.1,-0.1) rectangle +(0.1,0.1);
    \draw[fill,green] (-1.1,-0.5) +(-0.15,-0.1) -- +(0.15,-0.1) -- +(0,0.15);
    \draw[anchor=west] (-1,0.5)  node {$I$};
    \draw[anchor=west] (-1,0)    node {$I\cap [{\color{gray}n}{-l},r]_0$};
    \draw[anchor=west] (-1,-0.5) node {$I\setminus[{\color{gray}n}{-l},r]_0$};


    % Bigger circle
    \foreach \a in {-5,...,3} {
        \draw[-,dashed] ({\a*\step}:\r+1) -- ({(\a+1)*\step}:\r+1);
        %\draw ({\a*\step}:\r+1) circle (0.05);
    }
    \draw ({-5*\step}:\r+1) +(0.2,-0.2) node {${\color{gray}n}{-l}$};
    \draw ({4*\step}:\r+1) +(0.2,0.2) node {$r$};


    %
    % Arrows with labels
    %

    % 0
    \draw ({0*\step}:\r-0.3) node {$0$};
    % 1
    \draw ({1*\step}:\r-0.3) node {$1$};
    % n/2
    \draw ({12*\step}:\r-0.3) node {$\frac{n}{2}$};
    % n-1
    \draw ({-1*\step}:\r-0.3) +(-0.4,0) node {${\color{gray}n}{-1}$};
    % i_*
    \draw[->] ({10*\step}:\r-1) -- ({10*\step}:\r-0.2);
    \draw ({10*\step}:\r-1) +(0.3,0) node {$i_*$};
    % j
    \draw[->] ({0*\step}:\r-1.3) -- ({0*\step}:\r-0.8);
    \draw ({0*\step}:\r-1) +(-0.4,0) node {$j$};
\end{tikzpicture}
\end{document}
