Cheers!

All excellent, runable examples helping me progress quickly.

Being more a qualitative plot, the y-axis is less important. But it did get me thinking-

Coloring each of the plotted lines, say 'altitude colors' like the classic volcano example to reflect the (scaled) values the lines represent might be effective at representing individual y-axis magnitude for each line. Perhaps gray background at least.

Maybe if there were examples of the lines() func. using colors dependent on the y-value? Or some one already made a function for achieving this? (Google didnt return anything obvious for me...yet).

Sincere thanks for help thus far, and welcome any further pointers,

Karl


On 9/12/2010 4:50 PM, Duncan Murdoch wrote:
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

--
Karl Brand
Department of Genetics
Erasmus MC
Dr Molewaterplein 50
3015 GE Rotterdam
T +31 (0)10 704 3457 |F +31 (0)10 704 4743 |M +31 (0)642 777 268

______________________________________________
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