When no colormap is present, and when the value segment of the input data contains ONLY scalar data, then spheres are created such that the radius of the sphere is proportional to the value of the scalar data (multiplied by the "radius scale" parameter).
When the input data contains scalar data, and there is a colormap present, the size (radius) of each sphere and it's color is computed as follows: the radius is computed as a product of the input scalar data (multiplied by the "radius scale" parameter) and the alpha channel of the colormap. The color of the sphere is the color associated with the colormap index computed as a function of the input scalar data and the colormap transfer function in the colormap itself.
When the input data contains no value data, then all the spheres will have the same output size (radius scale parameter), and they will not be colored, regardless of whether or not an input colormap is present.
When the input data contains 4-vector data, this data is interpreted as RGBA. The radius of each output sphere will the the A-component of the 4-vector value data multiplied by the radius scale parameter. The color of the sphere will be the RGBA value (this is the only way to get spheres of varying transparency).
gcolorize - to go from scalar to RGBA data.