[R] help with scatterplot3d
Duncan Murdoch
murdoch at stats.uwo.ca
Mon Aug 13 21:31:42 CEST 2007
On 8/13/2007 3:03 PM, Ryan Briscoe Runquist wrote:
> Hello,
>
> I am having a bit of trouble with scatterplot3d().
>
> I was able to plot a 3d cloud of points using the following code:
>
>>my.3dplot<-scatterplot3d(my.coords, pch=19, zlim=c(0,1), scale.y=0.5,
> angle=30, box=FALSE)
>
> where my.coords is a data frame that contains x, y, and z coordinates for
> grid points whose elevation we sampled.
>
> The problem occurs when I try to add points using points3d. I tried to
> follow the code in the examples of the package pdf.
>
> First, I tried the following code to add all of the points that I wanted:
>
>>my.3dplot$points3d(seq(400,600,0.19), seq(600,400,0.295),
> seq(800,500,0.24), seq(1000,1400,0.22), seq(1200,600,0.24),
> seq(1200,1500,0.28), seq(1300,1400,0.205), seq(1700,500,0.26),
> seq(1700,600,0.21), seq(1900,1400,0.255), seq(2300,1400,0.275),
> seq(2600,1300,0.225), seq(2700,400,0.235), seq(2700,1300,0.265),
> seq(3100,1000,0.135), col="blue", type="h", pch=16)
The header to the function (which you can see by evaluating
my.3dplot$points3d) is
function (x, y = NULL, z = NULL, type = "p", ...)
so you are setting x to seq(400,600,0.19), y to seq(600,400,0.295), etc.
I think you probably want
my.3dplot$points3d(x=c(400, 600, ...),
y=c(600, 400, ...),
z=c(0.19, 0.295, ...), ...)
(where the ... is to be filled in by you.)
>
> and got the following error:
> Error in seq.default(600, 400, 0.295) : wrong sign in 'by' argument
>
> So I just tried to add the first point using the following code:
>
>>my.3dplot$points3d(seq(400,600,0.19), col="blue", type="h", pch=16)
>
> and got the following error message:
>
> Error in xyz.coords(x, y, z) : 'x', 'y' and 'z' lengths differ.
>
> Does anyone know how I can use this function in the scatterplot3d package?
try
my.3dplot$points3d(x=400, y=600, z=0.19, col="blue", type="h", pch=16)
Duncan Murdoch
More information about the R-help
mailing list