Skip to main content
2 of 2
added 385 characters in body; added 9 characters in body

I already mentioned Bernd Thaller's package Graphics`ComplexPlot` in the comments; if one blends the ideas from Artes's and Heike's answers, and then use the function $ComplexToColorMap[] from Thaller's package (I won't include it here; again, see the package for that), we get this:

domain-colored plot

Needs["Graphics`ComplexPlot`"] (* Thaller's package; get it yourself *)

f1 = RegionPlot[True, {x, -Pi, Pi}, {y, -Pi, Pi}, 
 ColorFunction -> ($ComplexToColorMap[Abs[Sin[#1 + I #2]], 
     Arg[Sin[#1 + I #2]], {Pi, 1/10, 1, 1/10, 1}] &), 
 ColorFunctionScaling -> False, PlotPoints -> 200];

f2 = ContourPlot[
 Evaluate@{Table[Re@Sin[x + I y] == 1/2 k, {k, -25, 25}], 
   Table[Im@Sin[x + I y] == 1/2 k, {k, -25, 25}]}, {x, -Pi, 
  Pi}, {y, -Pi, Pi}, PlotPoints -> 100, ContourStyle -> Gray];

f3 = ContourPlot[
 Evaluate@Table[Abs@Sin[x + I y] == 1/2 k, {k, -25, 25}], {x, -Pi, 
  Pi}, {y, -Pi, Pi}, PlotPoints -> 100, ContourStyle -> White, 
 MaxRecursion -> 5];

Show[f1, f2, f3]

The $ComplexToColorMap[] function could probably be optimized a fair bit for new Mathematica, but I won't get into that for now. One might also consider tweaking the Opacity[] of the contour lines for the absolute value as well, but I'll leave that as an experiment for the reader.


Another thing you can try:

RegionPlot[True, {x, -Pi, Pi}, {y, -Pi, Pi}, 
 ColorFunction -> ($ComplexToColorMap[Abs[Sin[#1 + I #2]], 
     Arg[Sin[#1 + I #2]], {Pi, 1/50, 1, 1/50, 1}] &), 
 ColorFunctionScaling -> False, Mesh -> 51, 
 MeshFunctions -> {Re[Sin[#1 + I #2]] &, Im[Sin[#1 + I #2]] &}, 
 MeshStyle -> Gray, PlotPoints -> 95]