how to plot two surfaces with lattice::wireframe
On Fri, Oct 14, 2011 at 3:07 AM, Carl Witthoft <carl at witthoft.com> wrote:
Hi all,
I'd like to plot the Real and Imaginary parts of some f(z) as two different
surfaces in wireframe (the row/column axes are the real and imag axes). ?I
know I can do it by, roughly speaking, something like
plotz <- expand.grid(x={range of Re(z)}, y={range of Im(z), groups=1:2)
plotz$func<-c(Re(f(z),Im(f(z))
wireframe(func~x*y,data=plotz,groups=groups)
But that seems like a clunky way to go, especially if I happen to have
started out with a nice matrix of the f(z) values.
So, is there some simpler way to write the formula in wireframe? ?I
This is reasonably simple: fz <- matrix(complex(real = 1:100, imaginary = 101:200), 10, 10) zr <- as.vector(row(fz)) zc <- as.vector(row(fz)) wireframe(Re(fz) + Im(fz) ~ zr + zc) The as.vector() are needed because matrix x and y in the formula have a special meaning. -Deepayan