Hello R-sters, I'm trying to add several lines to a response surface that I've plotted using persp(). I've tried lines() using the "trans3d" function but I've been unsuccessful in getting it to work (R v2.0.1). Essentially, I'm trying to highlight one or more of the surface wireframe lines in a bolder (or different) color. Any tips from those of you who have some experience with this would be greatly appreciated. [Would it be easier using wireframe() in library(lattice) instead?] And, any suggestions on how to add text outside of the persp() plot next to the highlighted line would be much appreciated. Thanks, Jeff Jorgensen
persp, add lines/highlights
3 messages · jjorgensen@fastmail.fm, Paul Murrell, robin hankin
Hi
jjorgensen at fastmail.fm wrote:
Hello R-sters, I'm trying to add several lines to a response surface that I've plotted using persp(). I've tried lines() using the "trans3d" function but I've been unsuccessful in getting it to work (R v2.0.1). Essentially, I'm trying to highlight one or more of the surface wireframe lines in a bolder (or different) color. Any tips from those of you who have some experience with this would be greatly appreciated. [Would it be easier using wireframe() in library(lattice) instead?]
Here's an example that just overlays two persp() plots ...
x <- seq(-10, 10, length= 30)
y <- x
f <- function(x,y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }
z <- outer(x, y, f)
z[is.na(z)] <- 1
op <- par(bg = "white")
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue",
zlim=range(z))
# overlay plot with just "highlighted" surface area
par(new=TRUE)
z2 <- matrix(NA, ncol=30, nrow=30)
xi <- 15:18
yi <- 13:14
z2[xi, yi] <- z[xi, yi]
persp(x, y, z2, theta = 30, phi = 30, expand = 0.5,
zlim=range(z), border="red", col="pink", box=FALSE, axes=FALSE)
And, any suggestions on how to add text outside of the persp() plot next to the highlighted line would be much appreciated.
Do you mean like a legend? Paul
Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/
Hello everyone I always cut-n-paste Paul's suggestions and end up learning something! In this case, though, I have a query. I was wondering how the second persp() call dealt with hidden line removal, because pieces of mesh with NA values are see-through. If you replace xi in the code below with 10:28 and yi with 19:20, then all the pink grid appears in front of the blue grid; I would expect the blue grid to hide some of the pink grid. Is there any way to enforce hidden line removal here? rksh
On May 31, 2005, at 01:14 am, Paul Murrell wrote:
Hi jjorgensen at fastmail.fm wrote:
Hello R-sters, I'm trying to add several lines to a response surface that I've plotted using persp(). I've tried lines() using the "trans3d" function but I've been unsuccessful in getting it to work (R v2.0.1). Essentially, I'm trying to highlight one or more of the surface wireframe lines in a bolder (or different) color. Any tips from those of you who have some experience with this would be greatly appreciated. [Would it be easier using wireframe() in library(lattice) instead?]
Here's an example that just overlays two persp() plots ...
x <- seq(-10, 10, length= 30)
y <- x
f <- function(x,y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }
z <- outer(x, y, f)
z[is.na(z)] <- 1
op <- par(bg = "white")
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue",
zlim=range(z))
# overlay plot with just "highlighted" surface area
par(new=TRUE)
z2 <- matrix(NA, ncol=30, nrow=30)
xi <- 15:18
yi <- 13:14
z2[xi, yi] <- z[xi, yi]
persp(x, y, z2, theta = 30, phi = 30, expand = 0.5,
zlim=range(z), border="red", col="pink", box=FALSE, axes=FALSE)
And, any suggestions on how to add text outside of the persp() plot next to the highlighted line would be much appreciated.
Do you mean like a legend? Paul -- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/
______________________________________________ R-help at stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
-- Robin Hankin Uncertainty Analyst National Oceanography Centre, Southampton European Way, Southampton SO14 3ZH, UK tel 023-8059-7743