Three visualization techniques have been developed:
This technique emphasizes the natural split between the domain and the image of a complex function. Each is represented in a two-dimensional window on the screen, with real and imaginary axes forming the two dimensions shown. Users can create domains using standard sorts of drawing tools (circles, lines, filled regions, etc.), and then map them to image-space by applying some function to the points.
Rather than only considering two dimensions at a time, we can take advantage of our ability to see in three-dimensions. For example, consider making a surface plot of the real-valued output of a complex function -- together with its real and imaginary inputs. As with two-dimensional projections, this technique is domain-based (i.e., the user defines a domain s/he is interested in, and then applies a complex function to the domain.) The only difference here is that we're looking at three dimensions at a time, rather than only two. If you'd like a stronger background in understanding projections from 4 to 3 dimensions, check out "Visualizing Complex Function Graphs," an article that helps to explain the idea.
We can also use color to aid in the visualization process, instead of only relying on spacial deformations. The idea is to color every point p in a function's domain according to the function's output, f(p). A color wheel (HSV) is used to map every point in the infinite complex plane to a particular color value. This technique is particularly useful for investigating zeroes, poles and discontinuities of complex functions.