Hello Everyone, I am new to R and need some help. I have a matrix of x,y,z coordinates that I would like to interactively plot in 3D and then using the cursor select points on the plot and have the coordinates sent to a matrix. I am using the rgl package to plot the data at the moment because it allows me to rotate and zoom. I also tried cloud and scatterplot3D. I am looking for a function like 'locator' which is used to select points on 2D scatterplots. Thanks in advance! Abby
On 5/12/2009 3:08 PM, Abby Drake wrote:> Hello Everyone, > > I am new to R and need some help. > > I have a matrix of x,y,z coordinates that I would like to > interactively plot in 3D and then using the cursor select points on > the plot and have the coordinates sent to a matrix. I am using the rgl > package to plot the data at the moment because it allows me to rotate > and zoom. I also tried cloud and scatterplot3D. > > I am looking for a function like 'locator' which is used to select > points on 2D scatterplots.There's no locator3d, but select3d is somewhat similar. You could write a locator3d function using the rgl.setMouseCallbacks, rgl.user2window and rgl.window2user functions, if you can figure out how to indicate depth with a mouse click. identify3d might be a little easier. Duncan Murdoch
Dear list members, I was out of town when this message arrived and so didn't respond at the time. I did respond to a private email from the poster. Yes, the scatter3d() function in the Rcmdr package can identify points in 3D scatterplots drawn with rgl via the identify3d() function in the same package. Points are identified by right-clicking and dragging. The nice() function is in the car package, one of the "suggested" packages for the Rcmdr package. John ---------- original message ---------- It looks like Rcmdr may be able to select points on 3D scatterplots however when I try to use it's 3dscatter plot function I get the error message: could not find function "nice" If I copy the code: scatter3d(data$X, data$Z, data$Y, surface=FALSE, residuals=TRUE, bg="white", + axis.scales=TRUE, grid=TRUE, ellipsoid=FALSE, xlab="X", ylab="Z", zlab="Y") into the R console I get the same error message. Sorry I'm new - does anyone know where this missing "nice" function can be found? I tried using scatterplot3d but it doesn't rotate or zoom - which I need to be able to do to select the data... but thanks for the suggestion! . . . ------------------------------ John Fox, Professor Department of Sociology McMaster University Hamilton, Ontario, Canada web: socserv.mcmaster.ca/jfox