[R] rgl and axes3d() labels
reynolda at uw.edu
Thu Apr 24 18:49:32 CEST 2014
Or perhaps the documentation could be updated to clear up what works and what doesn't. It seems pretty confusing to put options in the docs that do not work as described.
> On Apr 24, 2014, at 4:05 AM, Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
>> On 23/04/2014, 9:02 PM, Alex Reynolds wrote:
>> Unfortunately, that doesn't help as it removes axis lines. It looks like
>> I can't use segments3d() without knowing what the bounds are of the
>> current axes and I don't know what to call to expose those.
>> Thanks again for your help, though, I appreciate it. Hopefully this gets
>> fixed in a future release!
> There is no bug, so it won't be fixed.
> Duncan Murdoch
>> On Wed, Apr 23, 2014 at 5:34 PM, Duncan Murdoch
>> <murdoch.duncan at gmail.com <mailto:murdoch.duncan at gmail.com>> wrote:
>> On 23/04/2014, 7:51 PM, Alex Reynolds wrote:
>> I am making an rgl-based 3d plot. It works fine, except when I
>> try to
>> remove axis value labels and tick marks with axes3d(labels=FALSE,
>> offset <- 50
>> par3d(windowRect=c(offset, offset, 1280+offset, 1280+offset))
>> rgl.viewpoint(theta=__thetaStart, phi=30, fov=30, zoom=1)
>> spheres3d(df$PC1, df$PC2, df$PC3, radius=featureRadius,
>> alpha=featureTransparency, shininess=featureShininess)
>> aspect3d(1, 1, 1)
>> /* ------ */
>> axes3d(col='black', box=FALSE, labels=FALSE, ticks=FALSE)
>> /* ------ */
>> title3d("", "", "PCoA1", "PCoA2", "PCoA3", col='black', line=1)
>> texts3d(df$PC1, df$PC2, df$PC3, text=df$ctName, color="blue",
>> rgl.light(-45, 20, ambient='black', diffuse='#dddddd',
>> rgl.light(60, 30, ambient='#dddddd', diffuse='#dddddd',
>> filename <- paste("results/PCoA.labeled.__pdf", sep="")
>> rgl.postscript(filename, fmt="pdf")
>> When I run this code, these flags are ignored and I still get
>> axis labels
>> and tick marks. What am I misunderstanding about the documentation?
>> If you specify edges="bbox" (the default), labels is ignored, and
>> the bbox3d() function is used to draw the axes. There's no ticks
>> argument, so it'll be absorbed by the ... argument.
>> I don't know what you want, but you might get it with
>> axes3d(edges=c("x", "y", "z"), col='black', box=FALSE,
>> labels=FALSE, tick=FALSE)
>> This won't join the axis lines at the lower corner; if that's what
>> you want, I'd just draw them explicitly using segments3d.
>> BTW, mixing rgl.* functions with *3d functions is likely to give you
>> strange results. I don't recommend it.
>> Duncan Murdoch
More information about the R-help