Printing something on a plot [message #5512] |
Tue, 16 January 1996 00:00  |
mbrown
Messages: 15 Registered: August 1995
|
Junior Member |
|
|
I'm plotting a box of values (representing dielectrics)
with SHADE_SURF and rotating it so that the view is
directly overhead. I'm using a 16-level color pallete so
that the differences in the values are distinct. I'd like
to be able to print small numbers over the graph corresponding
to the value at particular points. The graph would then
display regions with similar value with that value printed on
top of the graph. When I say "over" and "on top of", I mean
that the numbers would be printed at the same place as the
regions (not at the top of the window). I'm not sure if this
is possible. Can someone help me?
Myron.
-----------------------------
Myron Brown
mbrown@olie.wvitcoe.wvnet.edu
|
|
|
Re: Printing something on a plot [message #5631 is a reply to message #5512] |
Thu, 18 January 1996 00:00  |
nhbkmich
Messages: 8 Registered: January 1996
|
Junior Member |
|
|
Myron Brown (mbrown@olie.wvitcoe.wvnet.edu) wrote:
: I'm plotting a box of values (representing dielectrics)
: with SHADE_SURF and rotating it so that the view is
: directly overhead. I'm using a 16-level color pallete so
: that the differences in the values are distinct. I'd like
: to be able to print small numbers over the graph corresponding
: to the value at particular points. The graph would then
: display regions with similar value with that value printed on
: top of the graph. When I say "over" and "on top of", I mean
: that the numbers would be printed at the same place as the
: regions (not at the top of the window). I'm not sure if this
: is possible. Can someone help me?
: Myron.
: -----------------------------
: Myron Brown
: mbrown@olie.wvitcoe.wvnet.edu
Maybe you should use contour rather than shade_surf.
Let z be the nx*ny box of values, i.e. z=fltarr(nx,ny), xmin, xmax,ymin
and ymax the minimum and maximum values of your data coordinates.
Make coordinate vectors:
IDL> x=xmin+findgen(nx)/nx*(xmax-xmin)
IDL> y=ymin+findgen(ny)/ny*(ymax-ymin)
Create contour plot:
IDL> contour,z,x,y,/fill,nlevels=15
nlevels=15 enforces 15 equidistant contour levels, i.e. 16 regions.
You can put any text onto your plot by xyouts, which uses data coordinates
by default. For example, z(ix,iy) could be annotated by
IDL> xyouts,x(ix),y(iy),strtrim(string(z(ix,iy))),alignment=0.5
Michael Steffens
email: Michael.Steffens@mbox.muk.uni-hannover.de
|
|
|