Commit 294d4c5867898500dba123155934c5737a07be11
1 parent
6f1b4ae2
Exists in
master
tidied up auxiliary directories
Showing
1 changed file
with
0 additions
and
150 deletions
Show diff stats
src/idl_misc/JPBLib_for_Dustemwrap/plot_negative_log.pro deleted
@@ -1,150 +0,0 @@ | @@ -1,150 +0,0 @@ | ||
1 | -PRO plot_negative_log,x,y,help=help,ppositions=ppositions,dy=dy,positive_only=positive_only,negative_only=negative_only,_extra=_extra | ||
2 | - | ||
3 | -;+ | ||
4 | -; NAME: | ||
5 | -; plot_negative_log | ||
6 | -; CALLING SEQUENCE: | ||
7 | -; plot_negative_log,x,y,_extra=_extra | ||
8 | -; PURPOSE: | ||
9 | -; plots an array in log scale including negative values in two half-plots | ||
10 | -; INPUTS: | ||
11 | -; x = x vector to plot | ||
12 | -; y = y vector to plot | ||
13 | -; OPTIONAL INPUT: | ||
14 | -; ppositions = a 4-element vector for global plot position in the window | ||
15 | -; dy = fractional distance between the two half-plots along y | ||
16 | -; ACCEPTED KEY-WORDS: | ||
17 | -; _extra is filtered and passed to cgplot | ||
18 | -; EXAMPLES | ||
19 | -;x=[0,1,2,3,4,7,12] & y=[1.e-2,2,-1,-2,-5,-10,-50.] | ||
20 | -;plot_negative_log,x,y,xtitle='x',ytitle='y',xrange=[-1,15],/xsty,yrange=[0.001,100],/ysty,ppositions=[0.3,0.2,0.8,0.9],dy=0.001 | ||
21 | -;x=lindgen(1000)/500. & y=sin(x*10)*exp(-x*2.)*1.e2 | ||
22 | -;plot_negative_log,x,y,xtitle='x',ytitle='y',xrange=[-0.1,2.],/xsty,yrange=[0.001,100],/ysty | ||
23 | -; | ||
24 | -; OUTPUTS: | ||
25 | -; None | ||
26 | -; OPTIONAL OUTPUTS: | ||
27 | -; None | ||
28 | -; PROCEDURE AND SUBROUTINE USED | ||
29 | -; | ||
30 | -; COMMONS: | ||
31 | -; | ||
32 | -; SIDE EFFECTS: | ||
33 | -; The two half plots are forced to have the same (reflected) y axis. | ||
34 | -; MODIFICATION HISTORY: | ||
35 | -; written 28-06-22 by Jean-Philippe Bernard | ||
36 | -;- | ||
37 | - | ||
38 | -IF keyword_set(help) THEN BEGIN | ||
39 | - doc_library,'plot_negative_log' | ||
40 | - goto,sortie | ||
41 | -ENDIF | ||
42 | - | ||
43 | -defsysv,'!previous_yrange',exist=exist | ||
44 | -IF not exist THEN defsysv,'!previous_yrange',ptr_new() | ||
45 | - | ||
46 | -indpos=where(y GT 0,countpos) | ||
47 | -indneg=where(y LT 0,countneg) | ||
48 | -maskpos=y*0 | ||
49 | -maskneg=y*0 | ||
50 | -maskpos[indpos]=1 | ||
51 | -maskneg[indneg]=1 | ||
52 | - | ||
53 | -df_pos=find_ind(maskpos,1,count=count_pos_regions) | ||
54 | -df_neg=find_ind(maskneg,1,count=count_neg_regions) | ||
55 | - | ||
56 | -;print,df_pos | ||
57 | -;print,'-----' | ||
58 | -;print,df_neg | ||
59 | - | ||
60 | -Nx=1 & Ny=2 | ||
61 | -IF not keyword_set(ppositions) THEN BEGIN | ||
62 | - x0=0.10 & y0=0.10 | ||
63 | - x1=0.90 & y1=0.90 | ||
64 | -ENDIF ELSE BEGIN | ||
65 | - x0=ppositions[0] & y0=ppositions[1] | ||
66 | - x1=ppositions[2] & y1=ppositions[3] | ||
67 | -ENDELSE | ||
68 | -dx=0.15 ;not used anywy for this plot | ||
69 | -use_dy=0.05 | ||
70 | -IF keyword_set(dy) THEN BEGIN | ||
71 | - use_dy=dy | ||
72 | -ENDIF | ||
73 | - | ||
74 | -pp=make_ppositions(x0,y0,x1,y1,dx,use_dy,Nx,Ny,xtit_plot=xtit_plot,ytit_plot=ytit_plot, $ | ||
75 | - noerase=noerase,xcharsize=xcharsize,ycharsize=ycharsize,/silent) | ||
76 | - | ||
77 | -i=0L | ||
78 | -IF countpos NE 0 THEN BEGIN | ||
79 | - IF not keyword_set(negative_only) THEN BEGIN | ||
80 | - ;cgplot,x[indpos],y[indpos],_extra=_extra,/ylog | ||
81 | - !p.position=pp[*,i] | ||
82 | - cgplot,x[indpos],y[indpos],noerase=noerase[i],xcharsize=xcharsize[i],ycharsize=ycharsize[i],xtit=xtit,ytit=ytit,_extra=_extra,/ylog,/nodata | ||
83 | - FOR k=0L,count_pos_regions-1 DO BEGIN | ||
84 | - cgoplot,x[df_pos[k,0]:df_pos[k,1]],y[df_pos[k,0]:df_pos[k,1]],_extra=_extra | ||
85 | - ENDFOR | ||
86 | - ENDIF | ||
87 | - i=i+1 | ||
88 | -ENDIF | ||
89 | - | ||
90 | -; IF keyword_set(_extra) THEN BEGIN | ||
91 | -; yyrange=get_extra(_extra=_extra,'YRANGE',count=count) | ||
92 | -; IF count NE 0 THEN BEGIN | ||
93 | -; yrange=yyrange | ||
94 | -; ENDIF ELSE BEGIN | ||
95 | -; yrange=!y.crange | ||
96 | -; ENDELSE | ||
97 | -; ENDIF ELSE BEGIN | ||
98 | -; yrange=!y.crange | ||
99 | -; ENDELSE | ||
100 | - | ||
101 | -yrange=!y.crange | ||
102 | - | ||
103 | -!previous_yrange=ptr_new(yrange) | ||
104 | - | ||
105 | -new_yrange=10^[(*!previous_yrange)[1],(*!previous_yrange)[0]] | ||
106 | - | ||
107 | -IF keyword_set(_extra) THEN BEGIN | ||
108 | - _extrabis=modify_extra(_extra=_extra,'YRANGE',new_yrange,/replace) | ||
109 | -ENDIF | ||
110 | - | ||
111 | -; IF keyword_set(_extra) THEN BEGIN | ||
112 | -; yrange=get_extra(_extra=_extra,'YRANGE',count=count) | ||
113 | -; ; stop | ||
114 | -; IF count NE 0 THEN BEGIN | ||
115 | -; new_yrange=yrange | ||
116 | -; new_yrange[1]=yrange[0] | ||
117 | -; new_yrange[0]=yrange[1] | ||
118 | -; ;stop | ||
119 | -; _extrabis=modify_extra(_extra=_extra,'YRANGE',new_yrange,/replace) | ||
120 | -; ENDIF ELSE BEGIN | ||
121 | -; yrange=!y.crange | ||
122 | -; new_yrange=[(!x.crange)[1],(!x.crange)[0]] | ||
123 | -; _extrabis=modify_extra(_extra=_extra,'YRANGE',new_yrange,/replace) | ||
124 | -; ENDELSE | ||
125 | -; ENDIF ELSE BEGIN | ||
126 | -; yrange=!y.crange | ||
127 | -; new_yrange=[(!x.crange)[1],(!x.crange)[0]] | ||
128 | -; _extrabis=modify_extra(_extra=_extra,'YRANGE',new_yrange,/replace) | ||
129 | -; ENDELSE | ||
130 | - | ||
131 | -;stop | ||
132 | - | ||
133 | -IF countneg NE 0 THEN BEGIN | ||
134 | - IF not keyword_set(positive_only) THEN BEGIN | ||
135 | - !p.position=pp[*,i] | ||
136 | - ; cgplot,x[indneg],-1.*y[indneg],noerase=noerase[i],xcharsize=xcharsize[i],ycharsize=ycharsize[i],xtit=xtit,ytit=ytit,_extra=_extrabis,/ylog | ||
137 | - cgplot,x[indneg],-1.*y[indneg],noerase=noerase[i],xcharsize=xcharsize[i],ycharsize=ycharsize[i],xtit=xtit,ytit=ytit,_extra=_extrabis,/ylog,/nodata,yrange=new_yrange | ||
138 | - FOR k=0L,count_neg_regions-1 DO BEGIN | ||
139 | - cgoplot,x[df_neg[k,0]:df_neg[k,1]],-1.*y[df_neg[k,0]:df_neg[k,1]],_extra=_extra | ||
140 | - ENDFOR | ||
141 | - ENDIF | ||
142 | -ENDIF | ||
143 | - | ||
144 | -sortie: | ||
145 | - | ||
146 | -;stop | ||
147 | - | ||
148 | -END | ||
149 | - | ||
150 | - |