Rev 8584 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 8584 | Rev 13594 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | !if $wims_read_parm!=slib_header |
1 | !if $wims_read_parm!=slib_header |
| 2 | !goto proc |
2 | !goto proc |
| 3 | !endif |
3 | !endif |
| 4 | 4 | ||
| 5 | slib_author=Georges, Khaznadar |
5 | slib_author=Georges, Khaznadar |
| 6 | 6 | ||
| 7 | slib_example= ,,,,,,,,,sin(x),[],0,0,1.2,1.5,2.4,3.2\ |
7 | slib_example= ,,,,,,,,,sin(x),[],0,0,1.2,1.5,2.4,3.2\ |
| Line 16... | Line 16... | ||
| 16 | 16 | ||
| 17 | slib_parm=!item 1 to 11 of $wims_read_parm |
17 | slib_parm=!item 1 to 11 of $wims_read_parm |
| 18 | !distribute item $slib_parm into slib_xd, slib_yd, slib_xo, slib_yo, slib_xs, slib_ys, slib_bg, slib_lc, slib_dc, slib_f, slib_correct |
18 | !distribute item $slib_parm into slib_xd, slib_yd, slib_xo, slib_yo, slib_xs, slib_ys, slib_bg, slib_lc, slib_dc, slib_f, slib_correct |
| 19 | 19 | ||
| 20 | slib_point=!item 12 to -1 of $wims_read_parm |
20 | slib_point=!item 12 to -1 of $wims_read_parm |
| 21 | - | ||
| 22 | 21 | ||
| 23 | !default slib_xd=8 |
22 | !default slib_xd=8 |
| 24 | !default slib_yd=8 |
23 | !default slib_yd=8 |
| 25 | !default slib_xo=1 |
24 | !default slib_xo=1 |
| 26 | !default slib_yo=1 |
25 | !default slib_yo=1 |
| Line 71... | Line 70... | ||
| 71 | !! of 1, 2 or 5. |
70 | !! of 1, 2 or 5. |
| 72 | slib_log=$[log10($slib_ys/($slib_yd-$slib_yo))] |
71 | slib_log=$[log10($slib_ys/($slib_yd-$slib_yo))] |
| 73 | slib_logint=$[floor($slib_log)] |
72 | slib_logint=$[floor($slib_log)] |
| 74 | slib_logmant=$[$slib_log-$slib_logint] |
73 | slib_logmant=$[$slib_log-$slib_logint] |
| 75 | !if $slib_logmant > $[log10(5)] |
74 | !if $slib_logmant > $[log10(5)] |
| 76 |
|
75 | slib_ys=1e$[$slib_logint+1] |
| 77 | !else |
76 | !else |
| 78 | !if $slib_logmant > $[log10(2)] |
77 | !if $slib_logmant > $[log10(2)] |
| 79 | slib_ys=5e$slib_logint |
78 | slib_ys=5e$slib_logint |
| 80 | !else |
79 | !else |
| 81 | slib_ys=2e$slib_logint |
80 | slib_ys=2e$slib_logint |
| 82 | !endif |
81 | !endif |
| 83 | !endif |
82 | !endif |
| 84 | !else |
83 | !else |
| 85 | slib_maxy=$empty |
84 | slib_maxy=$empty |
| 86 | !endif |
85 | !endif |
| 87 | 86 | ||
| 88 | slib_dc=!declosing $slib_dc |
87 | slib_dc=!declosing $slib_dc |
| 89 | 88 | ||
| 90 | slib_correct=!declosing $slib_correct |
89 | slib_correct=!declosing $slib_correct |
| 91 | slib_point=!declosing $slib_point |
90 | slib_point=!declosing $slib_point |
| 92 | 91 | ||
| 93 | slib_bg=!declosing $slib_bg |
92 | slib_bg=!declosing $slib_bg |
| 94 | !default slib_bg=240,233,255 |
93 | !default slib_bg=240,233,255 |
| 95 | 94 | ||
| 96 | slib_lc=!declosing $slib_lc |
95 | slib_lc=!declosing $slib_lc |
| 97 | !default slib_lc=255,220,180 |
96 | !default slib_lc=255,220,180 |
| 98 | 97 | ||
| 99 | slib_dc=!declosing $slib_dc |
98 | slib_dc=!declosing $slib_dc |
| 100 | !default slib_dc=10,10,10 |
99 | !default slib_dc=10,10,10 |
| 101 | 100 | ||
| 102 | !!!!!!!!!!!!!!!!! begin grid !!!!!!!!!!!!!!!!!!!!!!!!! |
101 | !!!!!!!!!!!!!!!!! begin grid !!!!!!!!!!!!!!!!!!!!!!!!! |
| 103 | 102 | ||
| 104 | slib_grey=128,128,128 |
103 | slib_grey=128,128,128 |
| 105 | 104 | ||
| 106 | slib_dessin = new 60*$slib_xd,60*$slib_yd\ |
105 | slib_dessin = new 60*$slib_xd,60*$slib_yd\ |
| 107 | xrange -0.5, 10*$slib_xd-0.5\ |
106 | xrange -0.5, 10*$slib_xd-0.5\ |
| 108 | yrange -0.5, 10*$slib_yd-0.5\ |
107 | yrange -0.5, 10*$slib_yd-0.5\ |
| 109 | fill 1,1,$slib_bg |
108 | fill 1,1,$slib_bg |
| 110 | 109 | ||
| 111 | !! traits fins tous les millimetres |
110 | !! traits fins tous les millimetres |
| 112 | slib_dessin=$slib_dessin\ |
111 | slib_dessin=$slib_dessin\ |
| 113 | linewidth 1\ |
112 | linewidth 1\ |
| 114 | parallel 0, 0, 0, 10*$slib_yd, 1, 0, 10*$slib_xd+1, $slib_lc\ |
113 | parallel 0, 0, 0, 10*$slib_yd, 1, 0, 10*$slib_xd+1, $slib_lc\ |
| 115 | parallel 0, 0, 10*$slib_xd, 0, 0, 1, 10*$slib_yd+1, $slib_lc |
114 | parallel 0, 0, 10*$slib_xd, 0, 0, 1, 10*$slib_yd+1, $slib_lc |
| 116 | 115 | ||
| 117 | !! traits gros tous les centimetres |
116 | !! traits gros tous les centimetres |
| 118 | slib_dessin=$slib_dessin\ |
117 | slib_dessin=$slib_dessin\ |
| 119 | linewidth 3\ |
118 | linewidth 3\ |
| 120 | parallel 0, 0, 0, 10*$slib_yd, 10, 0, $slib_xd+1, $slib_lc\ |
119 | parallel 0, 0, 0, 10*$slib_yd, 10, 0, $slib_xd+1, $slib_lc\ |
| 121 | parallel 0, 0, 10*$slib_xd, 0, 0, 10, $slib_yd+1, $slib_lc |
120 | parallel 0, 0, 10*$slib_xd, 0, 0, 10, $slib_yd+1, $slib_lc |
| 122 | 121 | ||
| 123 | !! axe_x |
122 | !! axe_x |
| 124 | slib_dessin=$slib_dessin\ |
123 | slib_dessin=$slib_dessin\ |
| Line 130... | Line 129... | ||
| 130 | 129 | ||
| 131 | slib_val=$[-$slib_xo*$slib_xs] |
130 | slib_val=$[-$slib_xo*$slib_xs] |
| 132 | slib_dessin=$slib_dessin\ |
131 | slib_dessin=$slib_dessin\ |
| 133 | linewidth 1 |
132 | linewidth 1 |
| 134 | !for slib_x from 0 to 10*$slib_xd step 10 |
133 | !for slib_x from 0 to 10*$slib_xd step 10 |
| 135 | slib_dessin=$slib_dessin\ |
134 | slib_dessin=$slib_dessin\ |
| 136 | text blue,$[$slib_x+1],$[10*$slib_yo-1],medium,$slib_val |
135 | text blue,$[$slib_x+1],$[10*$slib_yo-1],medium,$slib_val |
| 137 | slib_val=$[$slib_val+$slib_xs] |
136 | slib_val=$[$slib_val+$slib_xs] |
| 138 | !next slib_x |
137 | !next slib_x |
| 139 | !if $slib_labx != $empty |
138 | !if $slib_labx != $empty |
| 140 | slib_dessin=$slib_dessin\ |
139 | slib_dessin=$slib_dessin\ |
| 141 | text blue,$[$slib_x-20],$[10*$slib_yo-6],medium,$slib_labx |
140 | text blue,$[$slib_x-20],$[10*$slib_yo-6],medium,$slib_labx |
| 142 | !endif |
141 | !endif |
| 143 | 142 | ||
| 144 | !! axe_y |
143 | !! axe_y |
| 145 | slib_dessin=$slib_dessin\ |
144 | slib_dessin=$slib_dessin\ |
| 146 | linewidth 3\ |
145 | linewidth 3\ |
| Line 151... | Line 150... | ||
| 151 | 150 | ||
| 152 | slib_val=$[-$slib_yo*$slib_ys] |
151 | slib_val=$[-$slib_yo*$slib_ys] |
| 153 | slib_dessin=$slib_dessin\ |
152 | slib_dessin=$slib_dessin\ |
| 154 | linewidth 1 |
153 | linewidth 1 |
| 155 | !for slib_y from 0 to 10*$slib_yd step 10 |
154 | !for slib_y from 0 to 10*$slib_yd step 10 |
| 156 | slib_dessin=$slib_dessin\ |
155 | slib_dessin=$slib_dessin\ |
| 157 | text blue,$[10*$slib_xo+1],$[$slib_y-1],medium,$slib_val |
156 | text blue,$[10*$slib_xo+1],$[$slib_y-1],medium,$slib_val |
| 158 | slib_val=$[$slib_val+$slib_ys] |
157 | slib_val=$[$slib_val+$slib_ys] |
| 159 | !next slib_y |
158 | !next slib_y |
| 160 | !if $slib_laby != $empty |
159 | !if $slib_laby != $empty |
| 161 | slib_dessin=$slib_dessin\ |
160 | slib_dessin=$slib_dessin\ |
| 162 | text blue,$[10*$slib_xo-9],$[$slib_y-10],medium,$slib_laby |
161 | text blue,$[10*$slib_xo-9],$[$slib_y-10],medium,$slib_laby |
| 163 | !endif |
162 | !endif |
| Line 165... | Line 164... | ||
| 165 | !!!!!!!!!!!!!!!!! end grid !!!!!!!!!!!!!!!!!!!!!!!!! |
164 | !!!!!!!!!!!!!!!!! end grid !!!!!!!!!!!!!!!!!!!!!!!!! |
| 166 | 165 | ||
| 167 | !! red dots : the correct list |
166 | !! red dots : the correct list |
| 168 | n1=!itemcnt $slib_correct |
167 | n1=!itemcnt $slib_correct |
| 169 | !for i from 1 to $n1 step 2 |
168 | !for i from 1 to $n1 step 2 |
| 170 | !if $i < $n1 |
169 | !if $i < $n1 |
| 171 | slib_x=!item $i of $slib_correct |
170 | slib_x=!item $i of $slib_correct |
| 172 | slib_x=$[10*$slib_x/$slib_xs] |
171 | slib_x=$[10*$slib_x/$slib_xs] |
| 173 | slib_y=!item $[$i+1] of $slib_correct |
172 | slib_y=!item $[$i+1] of $slib_correct |
| 174 | slib_y=$[10*$slib_y/$slib_ys] |
173 | slib_y=$[10*$slib_y/$slib_ys] |
| 175 | slib_x1=$[10*$slib_xo+$slib_x-0.6] |
174 | slib_x1=$[10*$slib_xo+$slib_x-0.6] |
| 176 | slib_x2=$[10*$slib_xo+$slib_x+0.6] |
175 | slib_x2=$[10*$slib_xo+$slib_x+0.6] |
| 177 | slib_y1=$[10*$slib_yo+$slib_y-0.6] |
176 | slib_y1=$[10*$slib_yo+$slib_y-0.6] |
| 178 | slib_y2=$[10*$slib_yo+$slib_y+0.6] |
177 | slib_y2=$[10*$slib_yo+$slib_y+0.6] |
| 179 | !! add one red dot |
178 | !! add one red dot |
| 180 | slib_dessin=$slib_dessin\ |
179 | slib_dessin=$slib_dessin\ |
| 181 | linewidth 2\ |
180 | linewidth 2\ |
| 182 | segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,red\ |
181 | segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,red\ |
| 183 | segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,red |
182 | segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,red |
| 184 | !endif $i < $n1 |
183 | !endif $i < $n1 |
| 185 | !next i |
184 | !next i |
| 186 | 185 | ||
| 187 | !! the function : blue thin curve |
186 | !! the function : blue thin curve |
| 188 | slib_n = !itemcnt $slib_f |
187 | slib_n = !itemcnt $slib_f |
| 189 | !if $slib_n = 1 |
188 | !if $slib_n = 1 |
| Line 201... | Line 200... | ||
| 201 | plot blue, $slib_f |
200 | plot blue, $slib_f |
| 202 | 201 | ||
| 203 | !! black dots |
202 | !! black dots |
| 204 | n2=!itemcnt $slib_point |
203 | n2=!itemcnt $slib_point |
| 205 | !for i from 1 to $n2 step 2 |
204 | !for i from 1 to $n2 step 2 |
| 206 | !if $i < $n2 |
205 | !if $i < $n2 |
| 207 | slib_x=!item $i of $slib_point |
206 | slib_x=!item $i of $slib_point |
| 208 | slib_x=$[10*$slib_x/$slib_xs] |
207 | slib_x=$[10*$slib_x/$slib_xs] |
| 209 | slib_y=!item $[$i+1] of $slib_point |
208 | slib_y=!item $[$i+1] of $slib_point |
| 210 | slib_y=$[10*$slib_y/$slib_ys] |
209 | slib_y=$[10*$slib_y/$slib_ys] |
| 211 | slib_x1=$[10*$slib_xo+$slib_x-0.6] |
210 | slib_x1=$[10*$slib_xo+$slib_x-0.6] |
| 212 | slib_x2=$[10*$slib_xo+$slib_x+0.6] |
211 | slib_x2=$[10*$slib_xo+$slib_x+0.6] |
| 213 | slib_y1=$[10*$slib_yo+$slib_y-0.6] |
212 | slib_y1=$[10*$slib_yo+$slib_y-0.6] |
| 214 | slib_y2=$[10*$slib_yo+$slib_y+0.6] |
213 | slib_y2=$[10*$slib_yo+$slib_y+0.6] |
| 215 | !! add one '$slib_dc' dot |
214 | !! add one '$slib_dc' dot |
| 216 | slib_dessin=$slib_dessin\ |
215 | slib_dessin=$slib_dessin\ |
| 217 | linewidth 2\ |
216 | linewidth 2\ |
| 218 | segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,$slib_dc\ |
217 | segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,$slib_dc\ |
| 219 | segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,$slib_dc |
218 | segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,$slib_dc |
| 220 | !endif $i < $n2 |
219 | !endif $i < $n2 |
| 221 | !next i |
220 | !next i |
| 222 | 221 | ||
| 223 | slib_out= $slib_dessin |
222 | slib_out= $slib_dessin |