Tak Wing Chan wrote:>
> Dear all
>
> I am running R 1.4.1 on a Linux box. I have tried to label data points
> in a 3-d scatterplot, but without much success. What I did was as
> follows:
>
> > scatterplot3d(x, y, z)
> > identify(x, y, z, row.names(Data))
>
> When I tried to click on/near the data points, I either receive this
> msg:
>
> warning: no point with 0.25 inches,
>
> or some numbers in Data, not the row names, come up on the graph. So I
> wonder if I've got something wrong. Is it possible to use identify()
> with scatterplot3d() ?
Yes, but it's tricky. Since scatterplot3d() performs a projection 3D -->
2D and identify() is designed for 2D, we have to use the following
trick:
scatterplot3d() returns invisibly some useful functions to do the
transformation for the generated plot. So let's assign the result into
"s3d":
s3d <- scatterplot3d(x, y, z)
# No we can use:
identify(s3d$xyz.convert(x, y, z), row.names(Data))
For details see the Values section in ?scatterplot3d.
Anyway, if you want to label *all* points, you can use:
s3d <- scatterplot3d(x, y, z)
text(s3d$xyz.convert(x, y, z), label = row.names(Data), pos = 4)
Uwe Ligges
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at
stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._