In article <dcb38451.0410040950.70d92a62@posting.google.com>,
jcesq@terra.com.br (Jeferson E.) wrote:
> I have almost a thousand compositions to be done. I need some
> automactical procedure using map_grid and box_axes, or anything
> simlilar :-I
Ah, in that case, don't use BOX_AXES. Also, don't use the automatic
labels in MAP_GRID. Draw the labels yourself with XYOUTS. (I also find
that for cylindrical equidistant projections I need to draw the
parallels and meridians myself (i.e., don't call MAP_GRID).)
Unfortunately, you have to set things up specifically for each map
projection that you use.
Something like this should get you started (dx and dy are fudge factors
to get the label alignment right). This example is for a cylindrical
equidistant global map.
Ken Bowman
PRO MAP_TEST1
title = 'Map Test 1'
!P.POSITION = [0.1, 0.1, 0.9, 0.9]
MAP_SET, 0, 0, /CYLINDRICAL, LIMIT = [-90, -180, 90, 180], /NOBORDER
MAP_CONTINENTS
ch_size = CONVERT_COORD(!D.X_CH_SIZE, !D.Y_CH_SIZE, /DEVICE, /TO_NORMAL)
dx = ch_size(0)
dy = ch_size(1)
xy = CONVERT_COORD(0.0, 90.0, /DATA, /TO_NORMAL)
XYOUTS, xy(0), xy(1)+1.5*dy, title, /NORMAL, ALIGNMENT = 0.5
xy0 = CONVERT_COORD(-180.0, -90.0, /DATA, /TO_NORMAL)
xy1 = CONVERT_COORD( 180.0, 90.0, /DATA, /TO_NORMAL)
FOR xx = -180, 180, 90 DO BEGIN
xy = CONVERT_COORD(FLOAT(xx), -90.0, /DATA, /TO_NORMAL)
PLOTS, [xy[0], xy[0]], [xy0[1], xy1[1]], PSYM = -3, /NORMAL
xlabel = STRTRIM(STRING(xx), 2)
XYOUTS, xy(0), xy(1)-2.0*dy, xlabel, /NORMAL, ALIGNMENT = 0.5
ENDFOR
FOR yy = -90, 90, 30 DO BEGIN
xy = CONVERT_COORD(-180.0, FLOAT(yy), /DATA, /TO_NORMAL)
PLOTS, [xy0[0], xy1[0]], [xy[1], xy[1]], PSYM = -3, /NORMAL
ylabel = STRTRIM(STRING(yy), 2)
XYOUTS, xy(0)-dx, xy(1)-dy/2.0, ylabel, /NORMAL, ALIGNMENT = 1.0
ENDFOR
END
|