Manipulate[Plot3D[{2*Cos[3x+y],z0/2},{x,-2,2},{y,-2,2}],{z0,-3,3}]

ComplexGraph[f_,{xmin_,xmax_},{ymin_,ymax_},opts:OptionsPattern[]]:=RegionPlot[True,{x,xmin,xmax},{y,ymin,ymax},opts,PlotPoints->200,ColorFunctionScaling->False,ColorFunction->Function[{x,y},With[{ff=f[x+I y]},ColorConvert[Hue[(2. Pi)^-1 Mod[Arg[ff],2 Pi],1,1-(1.2+10 Log[Abs[ff]+1])^-1],"LAB"]]]]

f[z_]:=z^z

ComplexGraph[f,{-3,3},{-3,3}]

g[z_]:=z^(z^z)

ComplexGraph[g,{-4,4},{-4,4}]

ComplexGraph[Erf,{-4,4},{-4,4}]

ComplexGraph[Zeta,{-35,35},{-35,35}]

h[z_]:=Exp[1/z]

ComplexGraph[h,{-1,1},{-1,1}]