[R] create a '3D line plot'

Karl Brand k.brand at erasmusmc.nl
Sun Sep 12 22:17:23 CEST 2010


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



More information about the R-help mailing list