On 12/09/2010 10:12 AM, Karl Brand wrote:
Esteemed useRs and developeRs,
I need to create a '3D line plot' (proper name?) of which an excellent
example can be viewed here:
http://cococubed.asu.edu/images/87a/images/unknown_pleasures.jpg
I have some experience using the rgl package to create 3D PCA plots, but
have no idea where to start for an image like this.
I'd really appreciate suggestions & help on how might achieve this using R,
I wouldn't use rgl for that: it's really a flat 2D plot, without
perspective, shading or anything else that 3D plots have other than
foreground objects hiding background ones. You can draw it by using
polygon() to hide the background then lines() to draw the lines.
Here's an example using regular 2d graphics:
n <- 60
m <- 50
x <- seq(-4,4, len=m)
# Make up some fake y data
y <- matrix(NA, n, m)
for (i in 1:n) y[i,] <- dnorm(x)*runif(m, 0.5,1)
par(bg="black")
yrange <- range(c(y, y+n/20))
plot(x, x, type="n", axes=FALSE, bg="black", ylim=yrange)
for (i in n:1) {
y1 <- c(y[i,] + i/20, 0, 0)
x1 <- c(x, x[m], x[1])
polygon(x1,y1,col="black")
lines(x, y[i,] + i/20, col="white")
}
The problem with this kind of plot is that it's almost impossible to
display a usable vertical scale.
Duncan Murdoch
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.