comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Plotting a 3D Array In IDL
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Plotting a 3D Array In IDL [message #25849 is a reply to message #25778] Thu, 19 July 2001 07:16 Go to previous messageGo to previous message
Paul van Delst is currently offline  Paul van Delst
Messages: 364
Registered: March 1997
Senior Member
eddie haskell wrote:
>
>> Say I have a 3D array whose elements are only 1 or 0. I'd like to plot
>> this array, say a white dot for the 1's and a red dot for the 0's. Is there
>> a way I can do this in IDL?
>
> Below is a program fragment that does what I think you want done. There might
> be a slick one line way of doing it or maybe something visually stunning using
> object graphics but nothing currently leaps to mind.
>
> Cheers,
> eddie
>
> ;--------------------------
> n = 4
> a = randomu(seed,n,n,n) gt 0.5
> surface, dist(n), /nodata, zr=[0,n-1], /save
> tvlct,[0,255],[255,0],[0,0],1
>
> for j = 0,1 do begin
> wh = where(a eq j)
> x = wh mod n
> y = wh / n mod n
> z = wh / n^2
> for i = 0, n_elements(wh)-1 do $
> plots,x[i],y[i],z[i],/t3d,psym=2,color=j+1
> endfor
> ;-----------------------

Cool - I couldn't figure out how to do it. I modified the above a little to use plot3d

n = 4
a = randomu(seed,n,n,n) gt 0.5
tvlct,[0,255],[255,0],[0,0],1

for j = 0,1 do begin
wh = where(a eq j)
x = wh mod n
y = wh / n mod n
z = wh / n^2
plot3d, x,y,z,psym=2,color=j+1,oplot=j
endfor

but I find the resultant plot hard to interpret. I think this is a case where object
graphics is required to give some depth to the plot by varying the size of the plotting
symbols with perceived depth... or something like that.

paulv

--
Paul van Delst A little learning is a dangerous thing;
CIMSS @ NOAA/NCEP Drink deep, or taste not the Pierian spring;
Ph: (301)763-8000 x7274 There shallow draughts intoxicate the brain,
Fax:(301)763-8545 And drinking largely sobers us again.
Alexander Pope.
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: emacs idlwave shell key bindings
Next Topic: How to get PV-Wave to exit automatically when no license

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 10:24:04 PDT 2025

Total time taken to generate the page: 1.12784 seconds