I get the rgb-a are the same rgb-a's:
spheres3d(1:5, 1:5, 1:5, col=1:5, radius=(1:5)/10)
rgl.ids()
id type
1 11 spheres
rgl.attrib(11, "color")
r g b a
[1,] 0 0.0000000 0 1
[2,] 1 0.0000000 0 1
[3,] 0 0.8039216 0 1
[4,] 0 0.0000000 1 1
[5,] 0 1.0000000 1 1
as all sheres are black it seems that only the first rgb-a row is used
for all spheres.
I remember that I could set different colors in different scatter3d
calls, e.g., having all sheres 'red' or 'yellow' within one plot. As
if only the first row is applied to all objects.
René
René
Zitat von "Duncan Murdoch" <murdoch.dun...@gmail.com>:
On 12-04-13 5:32 AM, René Mayer wrote:
Dear John and Duncan,
thanks for your ideas! Unfortunatly, calling spheres from rgl
did not resolve the problem on my machine.
Both - spheres3d() and rgl.spheres() -
behave the same: black spheres, all aqual colored.
The only difference beeing the looking angle and thebackround color.
Seems to me that the 'col=1:5' argument is completly ignored.
Could you try this: After using one of the commands that's not
working (e.g. my spheres3d command from below), run the following:
rgl.ids()
This will give a dataframe of objects in the scene, something like
id type
1 6 spheres
(There will be more things listed if you have plotted other objects,
and the id number could be different.) Then run
rgl.attrib(6, "color")
(The 6 is the id associated with the spheres object.)
On my system after my spheres3d() call below, this gives
rgl.attrib(6, "color")
r g b a
[1,] 0 0.0000000 0 1
[2,] 1 0.0000000 0 1
[3,] 0 0.8039216 0 1
[4,] 0 0.0000000 1 1
[5,] 0 1.0000000 1 1
Can you tell me what you get? If you get the same thing as me, then
you've got a rendering problem; if you only see black colors listed,
then it's a problem at a higher level.
Duncan MUrdoch
René
Zitat von "Duncan Murdoch"<murdoch.dun...@gmail.com>:
On 12/04/2012 2:27 PM, John Fox wrote:
Dear René,
I've confirmed that the spheres aren't coloured correctly on my
Ubuntu system (the first colour is used for all of the spheres),
and I know that this works right on Windows, as you mentioned. I'm
curious to try it on my Mac, but don't have that handy at the moment.
I also looked at the code for scatter3d.default(), and that is
pretty straightforward; scatterplot3d.default() draws the spheres
with the command
rgl.spheres(x, y, z, color = surface.col[as.numeric(groups)],
radius = size)
I'm copying this response to Duncan Murdoch (the coauthor and
maintainer of the rgl package) in case he has any insight into the
problem.
Thank you for drawing this issue to my attention.
Calling rgl.spheres looks dangerous to me: the rgl.* functions make
permanent changes to material properties. Generally it's safer to
call spheres3d, as all of the *3d versions of functions make local
changes.
But there should be no differences in that between Ubuntu and
Windows. Can you put together a simple example that does give
differences? For example, on Windows this gives 5 different colours:
rgl.spheres(1:5, 1:5, 1:5, col=1:5, radius=(1:5)/10)
My preferred version would be
spheres3d(1:5, 1:5, 1:5, col=1:5, radius=(1:5)/10)
Do they behave the same?
Duncan Murdoch
______________________________________________
R-help@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.