source: trunk/SRC/ToBeReviewed/PLOTS/LABEL/label.pro @ 114

Last change on this file since 114 was 114, checked in by smasson, 18 years ago

new compilation options (compile_opt idl2, strictarrsubs) in each routine

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1;------------------------------------------------------------
2;------------------------------------------------------------
3;------------------------------------------------------------
4;+
5; NAME:label
6;
7; PURPOSE:permet de choisir le stype de label que l'on veut utiliser
8; lors d'un contour
9;
10; CATEGORY:graphique
11;
12; CALLING SEQUENCE:pro label,cas,min,max,ncontour,level_z2d
13;
14; INPUTS:
15;       cas=numero du type de label que l'on veut tracer
16;       min et max = valeures min et max entre lesquelles on veut faire
17; des contours
18;
19; KEYWORD PARAMETERS:
20;
21;       INTERVALLE: valeur d'un intervalle entre deux isolignes. par defaut
22; est calcule pour tracer 20 isolighnes. Dans tous les cas ce not cle
23; doit etre retourne pour pouvoir avoir une belle legende. Si les
24; niveaux ne comportent pas d''intevalle regulier, le mettre a -1
25;
26;       NLEVEL: nombre de contours a dessiner. par defaut =20. actif si
27; LABEL=0 ou nest pas specifie.
28;
29; OUTPUTS:
30;       ncontour=nombre de contour a tracer
31;       level_z2d=vecteur contenant les valeurs des contours que l'on trace
32;       colnumb: un vecteur contenant le numero des couleurs qui serviront a
33;               remplir entre les contours)
34;
35; COMMON BLOCKS:
36;       common.pro
37;
38; SIDE EFFECTS:
39;
40; RESTRICTIONS:
41;
42; EXAMPLE:
43;
44; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr)
45;                       7/5/98
46;-
47;------------------------------------------------------------
48;------------------------------------------------------------
49;------------------------------------------------------------
50pro label, cas, min, max, ncontour, level_z2d, colnumb, NLEVEL = nlevel $
51          ,INTERVALLE=intervalle, STRICTFILL = strictfill
52;
53  compile_opt idl2, strictarrsubs
54;
55@common
56   if !d.name EQ 'PS' OR !d.name EQ 'Z' then BEGIN
57      old_dname = !d.name
58      thisOS = !VERSION.OS_FAMILY
59      thisOS = STRMID(thisOS, 0, 3)
60      thisOS = STRUPCASE(thisOS)
61      CASE thisOS of
62         'MAC': SET_PLOT, thisOS
63         'WIN': SET_PLOT, thisOS
64         ELSE: SET_PLOT, 'X'
65      ENDCASE
66      !p.BACKGROUND=(!d.n_colors-1) < 255
67      !p.color=0
68      if !d.n_colors gt 256 then !p.background='ffffff'x
69      ncoul = !D.n_Colors < 256
70      set_plot,old_dname
71   ENDIF ELSE ncoul = !D.n_Colors < 256
72   case cas of
73      0: begin
74;nlevel label entre le min et le max
75         if keyword_set(Nlevel) eq 0 then ncontour=20 else ncontour=nlevel
76         ncontour = 1 > ncontour
77         level_z2d  = min + (max-min)*(findgen(Ncontour)/Ncontour)
78         colnumb    = ncoul*(findgen(Ncontour))/Ncontour+ncoul/(2*ncontour)
79         intervalle = level_z2d[1]-level_z2d[0]
80      end
81      1: begin
82;un certain nombre de label en partant du min jusqu'au plus pres de max avec
83; un pas fixe par intervalle
84         ncontour  = fix((max-min)/intervalle)
85         ncontour = 1 > ncontour
86         level_z2d = min + intervalle*findgen(Ncontour)
87         colnumb   = ncoul*(findgen(Ncontour))/Ncontour+ncoul/(2*ncontour)
88         max=level_z2d[Ncontour-1]+intervalle
89      end
90; label pour faire les memes sss que dessier
91
92      2: begin
93         lct, 63, file = 'palette.tbl'
94         level_z2d  = [20, 25, 30, 31, 32, 33, 33.5, 34+.25*findgen(16)]
95         ncontour=23
96         colnumb    = findgen(23)+1
97         masx = 37.75
98         intervalle = -1
99         return
100      end
101      3: begin
102; lecture intervalles + palette dans fichier GMT
103
104         label_gmt, min, max, intervalle, ncoul, ncontour, level_z2d, colnumb
105
106      end
107      else: begin
108         ras = report('Le numero de label demande n''existe pas')
109      end
110   ENDCASE
111   if keyword_set(strictfill) then begin
112      ncontour = ncontour+1
113      level_z2d = [level_z2d, max]
114      colnumb = [colnumb, ncoul-1]
115   endif
116   return
117end
Note: See TracBrowser for help on using the repository browser.