Color specific sections of three concentric circles

Update: automatic coloring

It is difficult to get the colors right "by hand", so I recoded my example to automatically colour the appropiate sectors from the binary code they represent. The code is much shorter now:

\documentclass{article}
\usepackage{tikz}
\usepackage{xstring}
\def\sector#1#2#3#4#5{%
\fill[#5] (#1) -- (#3:#2) arc (#3:#4:#2) -- cycle;
}

% Define colors for bits 1 and 0
\colorlet{color1}{red!70!black!70}
\colorlet{color0}{white}

\begin{document}
\begin{tikzpicture}
    \foreach \code [count=\i from=1] in {110,010,000,001,011,111,101,100} {
      \node at (\i*45:5.5) {\code}; % Label each code
      % Draw sectors from outside to inside
      \foreach \r in  {5,3,1} {
         \StrRight{\code}{1}[\bit]         % Get the rightmost bit
         \StrGobbleRight{\code}{1}[\code]  % Get the remaining left bits
         \xdef\code{\code}  % Set them for the next iteration
         \sector{0,0}{\r}{45*\i}{45*\i-45}{color\bit, draw=black, thick}
       }
    }
\end{tikzpicture}
\end{document}

And the result is free from previous mistakes :-)

Result

For reference only, here is the

Previous, obsolete answer

Here is a quick&dirty solution. The following macro allows you to fill a circular sector:

\def\sector#1#2#3#4#5{%
% #1  center
% #2  radius
% #3  start angle
% #4  end angle
% #5  drawing options
\draw[#5] (#1) -- (#3:#2) arc (#3:#4:#2) -- cycle;
}

Now you can draw some circular sectors in red, starting from the outer ring, and continue towards the inner rings overlapping some other sectors in white. It is not the most efficient nor elegant way to do it, but it is easy to understand and to code:

\documentclass{article}
\usepackage{tikz}
\def\sector#1#2#3#4#5{%
% #1  center
% #2  radius
% #3  start angle
% #4  end angle
% #5  drawing options
\draw[#5] (#1) -- (#3:#2) arc (#3:#4:#2) -- cycle;
}

\colorlet{myred}{red!70!black!70}

\begin{document}

\begin{tikzpicture}
    % Colour sectors
    % External ring
    \foreach \s/\c in {2/myred,4/myred,5/myred} {
      \sector{0,0}{5}{\s*45}{\s*45+45}{fill=\c}
    }
    % Middle ring
    \foreach \s/\c in {0/myred,2/white,3/myred,5/white,7/myred} {
      \sector{0,0}{3}{\s*45}{\s*45+45}{fill=\c}
    }
    % Inner ring
    \foreach \s/\c in {0/white,4/myred,5/myred,6/myred} {
      \sector{0,0}{1}{\s*45}{\s*45+45}{fill=\c}
    }

    %Circles 
    \foreach \r in {1, 3, 5}
      \draw[black, thick] (0,0) circle (\r);    
    %Rays
    \foreach \a in {0, 45,...,359}
      \draw[thick,black] (0, 0) -- (\a:5);
    %Angle labels  
    \draw (0: 5.5) node {$110$};
    \draw (45: 5.5) node {$010$};
    \draw (90: 5.5) node {$000$};
    \draw (135: 5.5) node {$001$};
    \draw (180: 5.5) node {$011$};
    \draw (225: 5.5) node {$111$};
    \draw (270: 5.5) node {$101$};
    \draw (315: 5.5) node {$100$};
    %Central point
    \draw[fill=black] (0,0) circle(0.7mm);
\end{tikzpicture}

\end{document}

Result


You want the arc operation described on page 153 of the (version 3.0.0) tikz manual. Just for fun, here's a simple command that colours in a region between two given angles and radii in a given colour:

\documentclass{article}

\newcommand{\coloursector}[5]{%
  \fill[#5] (#1:#3) arc[start angle=#1, end angle=#2, radius=#3] -- (#2:#4) arc[start angle=#2, end angle=#1, radius=#4] -- cycle;
}

\usepackage{tikz}

\begin{document}
\begin{center}
  \begin{tikzpicture}
    \coloursector{135}{180}{1}{3}{red!50!white}

    %Circles 
    \foreach \r in {1, 3, 5}
      \draw[black, thick] (0,0) circle (\r);    
    %Rays
    \foreach \a in {0, 45,...,359}
      \draw[thick,black] (0, 0) -- (\a:5);
    %Angle labels  
    \draw (0: 5.5) node {$110$};
    \draw (45: 5.5) node {$010$};
    \draw (90: 5.5) node {$000$};
    \draw (135: 5.5) node {$001$};
    \draw (180: 5.5) node {$011$};
    \draw (225: 5.5) node {$111$};
    \draw (270: 5.5) node {$101$};
    \draw (315: 5.5) node {$100$};

    %Central point
    \draw[fill=black] (0,0) circle(0.7mm);
  \end{tikzpicture}
\end{center}
\end{document}

Bit between angles 135 and 180 and radii 1 and 3 is coloured light red


A PSTricks solution where the following macro syntax is used:

\Ring[<segment color>]
     {<piece number in ring, counted anticlockwise>}
     {<ring number, counted from the centre>}

\Label[<label segment, counted anticlockwise>]{<label>}

Now for the code:

\documentclass{article}

% packages
\usepackage{pstricks-add}
\usepackage{xfp}

% macros
\def\Ring[#1]#2#3{%
  \psRing[
    fillstyle = solid,
    fillcolor = #1
  ](0,0)[\fpeval{(#2-1)*360/\Segments},\fpeval{#2*360/\Segments}]{\fpeval{#3-1}}{#3}%
}
\def\Label[#1]#2{%
  \uput[\fpeval{(#1-1)*360/\Segments}]%
       (\fpeval{\Radius*cos((#1-1)*2*pi/\Segments)},\fpeval{\Radius*sin((#1-1)*2*pi/\Segments)}){#2}%
}

% constants
\def\Segments{8}
\def\Radius{3}

\begin{document}

% drawing
\begin{pspicture}(-\Radius.7,-\Radius.45)(\Radius.7,\Radius.45)
  % 1st (innermost) ring
  \Ring[white]{1}{1}
  \Ring[white]{2}{1}
  \Ring[red]{3}{1}
  \Ring[brown!50!black]{4}{1}
  \Ring[red]{5}{1}
  \Ring[red]{6}{1}
  \Ring[red]{7}{1}
  \Ring[brown!50!black]{\Segments}{1}
  % 2nd ring
  \Ring[red]{1}{2}
  \Ring[white]{2}{2}
  \Ring[white]{3}{2}
  \Ring[red]{4}{2}
  \Ring[red]{5}{2}
  \Ring[white]{6}{2}
  \Ring[white]{7}{2}
  \Ring[red]{\Segments}{2}
  % 3rd ring
  \Ring[white]{1}{\Radius}
  \Ring[white]{2}{\Radius}
  \Ring[white]{3}{\Radius}
  \Ring[brown!50!black]{4}{\Radius}
  \Ring[red]{5}{\Radius}
  \Ring[red]{6}{\Radius}
  \Ring[white]{7}{\Radius}
  \Ring[white]{\Segments}{\Radius}
  % labels
  \Label[1]{$110$}
  \Label[2]{$010$}
  \Label[3]{$000$}
  \Label[4]{$001$}
  \Label[5]{$011$}
  \Label[6]{$111$}
  \Label[7]{$101$}
  \Label[\Segments]{$100$}
\end{pspicture}

\end{document}

output