On Oct 24, 2010, at 9:30 AM, Lorenzo Isella wrote:
Hi,
And thanks for helping. I am anyway a bit puzzled, since case (1)
is not
only a matter of interpolation. Probably the point I did not make
clear
(my fault) is that case (1) in my original email does not refer to
an
irregular grid on a rectangular domain; the set of (x,y) coordinate
could stand e.g. a flat metal slab along which I have temperature
measurements. The slab could be e.g. elliptical or any other funny
shape. What also matters is that the final outcome should not look
rectangular, but by eye one should be able to tell the shape of
the slab.
Case (1) is a generalization of case (2) where I do not have
either an
analytical expression for the surface not for the scalar.
Cheers
What about the facilities in package rgl then?
Uwe Ligges
Hello,
I feel I am drowning in a glass of water.
Not sure what we are supposed to make of this.
Consider the following snippet at the end of the email, where I
generated a set of {x,y,s=f(x,y)} values, i.e. a set of 2D
coordinates + a scalar on a circle.
Now, I can get a scatterplot in 3D, but how to get a 2D surface plot/
levelplot?
You were advised to look at rms. Why have you dismissed this
suggestion? Using your data setup below and packaging into a dataframe.
require(rms)
ddf <- datadist(xysf <- as.data.frame(xys))
olsfit <- ols(V3~rcs(V1,3)+rcs(V2,3), data=xysf)
bounds <- perimeter(xysf$V1, xysf$V2)
plot(xysf$V1, xysf$V2) #demonstrates the extent of the data
bplot(Predict(olsfit, V1,V2), perim=bounds) # a levelplot is the
default
bplot(Predict(olsfit, V1,V2), perim=bounds, lfun=contourplot)
bplot(Predict(olsfit, V1,V2), perim=bounds, lfun=contourplot,
xlim=c(-2.5,2.5))
# to demonstrate that perimeter works
# and as expected this shows very little variability d/t V1
olsfit # note that
> anova(olsfit)
Analysis of Variance Response: V3
Factor d.f. Partial SS MS F P
V1 2 0.01618738 8.093691e-03 19.47 <.0001
Nonlinear 1 0.01618738 1.618738e-02 38.93 <.0001
V2 2 470.67057254 2.353353e+02 566040.95 <.0001
Nonlinear 1 470.67057254 4.706706e+02 1132081.91 <.0001
TOTAL NONLINEAR 2 527.78127558 2.638906e+02 634723.80 <.0001
REGRESSION 4 527.78127558 1.319453e+02 317361.90 <.0001
ERROR 7663 3.18594315 4.157566e-04
# most the the regression SS is in the V2 variable
# Q.E.D.
--
David,
An idea could be to artificially set the z coordinate of the plot as
a constant (instead of having it equal to s as in the scatterplot)
and calculate the colormap with the values of s, along the lines of
the volcano example + surface plot at
http://bit.ly/9MRncd
but I am experiencing problems. However, should I really go through
all this? There is nothing truly 3D in the plot that I have in mind,
you can think of it as e.g. some temperature measurement along a
tube cross section.
Any help is appreciated.
Cheers
Lorenzo
########################################
library(scatterplot3d)
library(rgl)
R <- pi/2
n <- 100
x <- y <- seq(-R,R, length=n)
xys <- c()
temp <- seq(3)
for (i in seq(n)){
for (j in seq(n))
#check I am inside the circle
if ((sqrt(x[i]^2+y[j]^2))<=R){
temp[1] <- x[i]
temp[2] <- y[j]
temp[3] <- abs(cos(y[j]))
xys <- rbind(xys,temp)
}
}
scatterplot3d(xys[,1], xys[,2], xys[,3], highlight.3d=TRUE,
col.axis="blue", col.grid="lightblue",
main="scatterplot3d - 2", pch=20)
#########################################################
______________________________________________
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.