Drawing a sequence of circles

Graphics[
 {r = Length[Divisors@#]/2;
    ColorData["Rainbow"][(r - 1)/7],
    Circle[{#, 0}, r]} & /@
  Range[150],
 ImageSize -> 504]

enter image description here


You can get the radii using the built-in function DivisorSigma directly:

n = 150;
radii = DivisorSigma[0, Range @ n]/2;

Coloring the circles based on radius:

Graphics[MapThread[{Thick, ColorData[{"Rainbow", {0, Max@radii}}]@#2, Circle[{#, 0}, #2]} &,
  {Range @ n, radii}]]

enter image description here

Coloring the circles based on the horizontal coordinate of the center:

Graphics[ MapThread[{Thick, ColorData[{"Rainbow", {0, n}}]@#,  Circle[{#, 0}, #2]} &, 
  {Range @ n, radii}]]

enter image description here