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.

Reply via email to