Jack Saba (jack@magus.stx.com) writes:
> The following code (run with IDL 5.0.2) produces a plot with one image
> in the UL, and three images overplotted in the UR quadrant. Anyone
> understand why MAP_SET does not seem to work in conjuction with
> !P.MULTI?
>
> !p.multi = [0,2,2]
> window,0,xsize=800,ysize=800
> ; xmin, ymin, xmax, ymax
> map_set, /continents, title='UL', /noerase
> map_set, /continents, title='UR', /noerase
> map_set, /continents, title=' LL', /noerase
> map_set, /continents, title=' LR', /noerase
> print,!p.multi
> end
>
> The code can be made to work of course by using the POSITION keyword
> rather than !P.MULTI, but it seems curious that the code above doesn't
> work.
It is curious and certainly looks like a bug. The problem is
that !P.Multi[0] is not getting updated properly (among
several other curiosities). Rather than using the Position keyword,
I fixed the code by doing this:
!p.multi = [0,2,2]
window,0,xsize=800,ysize=800
; xmin, ymin, xmax, ymax
map_set, /continents, title='UL', /noerase
!P.Multi[0] = 3
map_set, /continents, title='UR', /noerase
!P.Multi[0] = 2
map_set, /continents, title=' LL', /noerase
!P.Multi[0] = 1
map_set, /continents, title=' LR', /noerase
print,!p.multi
end
I don't know why the NoErase is still needed, except that
something else is clearly not working correctly.
Cheers,
David
-----------------------------------------------------------
David Fanning, Ph.D.
Fanning Software Consulting
E-Mail: davidf@dfanning.com
Phone: 970-221-0438
Coyote's Guide to IDL Programming: http://www.dfanning.com/
|