Demo
Complex Numbers

Initializations

PlotRoots[f_, x_Symbol, opts___Rule] := 
      Module[{sols, a, pts}, 
sols = 
          NSolve[f == 0, x]; 
a = 
          1.05*Max[Abs[x] /. sols]; 
pts = {Re[x], Im[x]} /. 
            sols; 
Show[
          Graphics[{PointSize[ .025], Hue[ .7], Point /@ pts}], opts, 
          Axes -> True, PlotRange -> {{-a, a}, {-a, a}}, 
          AspectRatio -> Automatic]
]

ShowProduct[z_, w_, opts___Rule] := 
      Module[{zw, a, pts, b, blu}, 
zw = 
          z*w; 
blu = 
          RGBColor[ .1,  .1, 1]; 
mags = 
          Abs /@ {z, w, zw}; 
a = 
          1.1*Max[mags]; 
b = 
          Min[mags]; 
pts = {Re[#], Im[#]} & /@ {z, w, 
              zw}; 
lines = {#, {0, 0}} & /@ 
            pts; 
Show[
Graphics[{GrayLevel[ .7], Circle[{0,  0}, b]}], 
Graphics[{blu, 
              Line /@ Take[lines, 2]}], 
Graphics[{Hue[0], 
              Line[lines[[3]]]}], 
          Graphics[{blu, PointSize[ .025], Point /@ Take[pts, 2]}], 
          Graphics[{Hue[ .1], PointSize[ .025], Point[pts[[3]]]}], 
          opts, 
Frame -> True, Axes -> True, 
          PlotRange -> {{-a, a}, {-a, a}}, 
          AspectRatio -> Automatic]
]

Examples

PlotRoots[x^3 - 1, x]

PlotRoots[x^7 - I, x]

PlotRoots[x^40 - 10*x^10 + 1, x]