[R] selecting points on 3D scatterplots

Uwe Ligges ligges at statistik.tu-dortmund.de
Tue May 12 22:18:10 CEST 2009


Or with scatterplot3d:

The regular identify() usage with the iris data:

  s3d <- scatterplot3d(iris[,1:3], color=as.numeric(iris[,5]))
  identify(s3d$xyz.convert(iris[,1:3]))

or for locator: the values you get are the 2D representation of the 
current coordinate system and you can use locator directly for putting 
text in such as in:

text(locator(1), "The iris data")

If you want to convert back to 3D: This is not possible, because there 
is a while line behind that point you are clicking on ....

Best,
Uwe Ligges




Duncan Murdoch wrote:
> 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
> 
> ______________________________________________
> R-help at 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.




More information about the R-help mailing list