### 3.2.4 4-d graph.

`plotfunc` represents a complex expression `E` (such that `re(E)` is not identically 0 on the discretisation mesh) by the surface `z=abs(E)` where `arg(E)` defines the color from the rainbow. This gives an easy way to see the points having the same argument. Note that if `re(E)==0` on the discretisation mesh, it is the surface `z=E/i` that is represented with rainbow colors (cf 3.2.3).
The first argument of `plotfunc` is `E`, the remaining arguments are the same as for a real 3-d graph (cf 3.2.2). Input :

`plotfunc((x+i*y)```^```2,[x,y])`

Output :

`A graph 3D of z=abs((x+i*y)```^```2 with the same color for points having the same argument`

Input :

`plotfunc((x+i*y)```^```2x,[x,y], display=filled)`

Output :

`The same surface but filled`

We may specify the range of variation of x and y and the number of discretisation points, input :

`plotfunc((x+i*y)```^```2,[x=-1..1,y=-2..2], nstep=900,display=filled)`

Output :

`The specified part of the surface with` `x` `between -1 and 1,` `y` `between -2 and 2 and with 900 points`