Symbols are, by default, of the size of 1 unit in each direction. So if
you have a different range of data on the 3 axis, your symbol will be
distorted... use the SIZE keyword.
example:
x = [5,15]
y = [5,15]
z = [5,15]
orb1 = obj_new('orb', color = [0,0,255], radius = 0.2)
orb1 -> scale, 1,1,1
sym1 = obj_new('idlgrsymbol', orb1)
xplot3d, x, y, z, symbol = sym1, linestyle =6 ;Fine
z = [1,2]
xplot3d, x, y, z, symbol = sym1, linestyle =6 ;distorted...
Jean
adisn123@yahoo.com wrote:
> Hello,
>
> This is little frustrating since it should work fine.
>
> I'm trying to plot distribution of stars with sphere shape points using
> idlgrsymbol
> THe followings are what I used.
>
> Here array is the 3D (3 column and 3000 rows) array of stars.
>
> x1 = array[0,*]
> x1 = reform(x1) ;make as 1D array
>
> y1 = array[1,*]
> y1 = reform(y1)
>
> z1 = array[2,*]
> z1 = reform(z1)
>
> orb1 = obj_new('orb', color = [0,0,255], radius = 0.2)
> orb1 -> scale, 1,1,1
> sym1 = obj_new('idlgrsymbol', orb1)
>
> xplot3d, x1, y1, z1, symbol = sym1, linestyle =6
>
>
> I used "scale" to be 1, 1, 1 in x, y, and z axis such that it makes a
> sphere.
> BUt, somehow, in my final plot, the plotted points look like an
> ellipsoid ellongated in z axis.
>
> Am I missing something here???
>
|