Rev 11350 | Rev 11353 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
11344 | bpr | 1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
||
3 | !endif |
||
4 | |||
11352 | bpr | 5 | slib_ps=4\ |
11344 | bpr | 6 | ,minimum, maximum de la fenêtre\ |
7 | ,[d1,q1,mediane,q2,d2] or [q1,mediane,q2] \ |
||
8 | ,vector with m (mobile) or f (fixed)\ |
||
9 | ,option:number="" (dans le cas de plusieurs sorties jsxgraph dans la même page), \ |
||
10 | raw (for the anstype jsxcurve, in progress) |
||
11 | |||
12 | slib_out=Boite à moustaches. Peut être utilisé dans le type de réponse jsxgraph\ |
||
11352 | bpr | 13 | en prenant l'option raw. |
11344 | bpr | 14 | |
15 | slib_author=Bernadette, Perrin-Riou |
||
16 | slib_title=Box plot |
||
17 | slib_example=[0,10],[4,6,7],,number=1\ |
||
18 | [0,10],[4,6,7],[m,f],number=2\ |
||
19 | [0,10],[1,4,6,7,8],,number=3\ |
||
20 | [10,100],[21,54,66,77,89],[m,f,f,m,f],number=4 stick=10\ |
||
11350 | bpr | 21 | [0,10],[1,2,6],,raw |
11344 | bpr | 22 | |
23 | !exit |
||
24 | |||
25 | :proc |
||
26 | slib_out= |
||
27 | |||
11352 | bpr | 28 | !distribute item $wims_read_parm into slib_range,slib_p,slib_fix,slib_opt |
29 | ! |
||
11344 | bpr | 30 | !set slib_fix=!declosing $slib_fix |
31 | !set slib_range=!declosing $slib_range |
||
11352 | bpr | 32 | !distribute item $slib_range into slib_xmin,slib_xmax,slib_xsize,slib_ysize |
33 | !default slib_xsize=300 |
||
34 | !default slib_ysize=100 |
||
35 | !set slib_stick=!getopt stick in $slib_opt |
||
11344 | bpr | 36 | !default slib_stick=1 |
11352 | bpr | 37 | !set slib_p=!declosing $slib_p |
38 | !set slib_p=!sort numeric item $slib_p |
||
39 | !set slib_ch=!itemcnt $slib_p |
||
40 | !if $slib_ch=3 |
||
41 | !distribute item $slib_p into slib_q1,slib_med,slib_q3 |
||
11344 | bpr | 42 | !else |
11352 | bpr | 43 | !distribute item $slib_p into slib_dec1,slib_q1,slib_med,slib_q3,slib_dec9 |
11344 | bpr | 44 | !endif |
11352 | bpr | 45 | !set slib_opt=!declosing $slib_opt |
46 | !set slib_nb=!getopt number in $slib_opt |
||
47 | !if $slib_nb!=$empty |
||
48 | slib_nb=_$slib_nb |
||
11344 | bpr | 49 | !endif |
11352 | bpr | 50 | !set slib_brd=brd$slib_nb |
51 | !set slib_jx=jxgbox$slib_nb |
||
52 | !set slib_h=3 |
||
53 | !set slib_h1=$[$slib_h-1] |
||
54 | !set slib_h2=$[$slib_h+1] |
||
55 | !set slib_h3=$[$slib_h-2] |
||
56 | !set slib_h4=$[$slib_h+2] |
||
57 | slib_script1=var $slib_brd = JXG.JSXGraph.initBoard('$slib_jx', {\ |
||
58 | axis:false,boundingbox: [$slib_xmin, 7, $slib_xmax, -1], grid:true, shownavigation:false});\ |
||
11344 | bpr | 59 | xaxis = $slib_brd.create('axis', [[0, 0], [1, 0]], {\ |
60 | ticks: {ticksDistance: $slib_stick, insertTicks: false}});\ |
||
61 | yaxis = $slib_brd.create('axis', [[0, 0], [0, 3]],{\ |
||
62 | ticks: {ticksDistance:2, insertTicks: false,visible:false},visible:false}); |
||
11350 | bpr | 63 | !set slib_font=face:'o', name:'', size:2, showInfobox: true |
11352 | bpr | 64 | !for slib_i=1 to $slib_ch |
11344 | bpr | 65 | !if $(slib_fix[$slib_i])=f |
66 | !set slib_fixme=,fixed:true,visible:false |
||
67 | !else |
||
68 | !reset slib_fixme |
||
69 | !endif |
||
11352 | bpr | 70 | !if raw notwordof $slib_opt |
11350 | bpr | 71 | !set slib_script1=$slib_script1\ |
11352 | bpr | 72 | $(slib_jx)_rep$slib_i$slib_nb=$slib_brd.create('point',[$(slib_p[$slib_i]),$slib_h], {$slib_font$slib_fixme}); |
11350 | bpr | 73 | !else |
74 | !set slib_script1=$slib_script1\ |
||
11352 | bpr | 75 | $(slib_jx)_rep$slib_i$slib_nb=$slib_brd.create('point',$(slib_jx)_var$slib_i$slib_nb, {$slib_font$slib_fixme}); |
11350 | bpr | 76 | |
77 | !endif |
||
11344 | bpr | 78 | !next |
11352 | bpr | 79 | !if $slib_ch=5 |
11344 | bpr | 80 | !set slib_scriptmove=$slib_brd.on('move', function(){\ |
11352 | bpr | 81 | $(slib_jx)_rep1$slib_nb.moveTo([Math.min($(slib_jx)_rep1$slib_nb.X(),$(slib_jx)_rep2$slib_nb.X()), $slib_h]);\ |
82 | $(slib_jx)_rep2$slib_nb.moveTo([Math.min($(slib_jx)_rep2$slib_nb.X(),$(slib_jx)_rep3$slib_nb.X()), $slib_h]);\ |
||
83 | $(slib_jx)_rep3$slib_nb.moveTo([Math.min($(slib_jx)_rep3$slib_nb.X(),$(slib_jx)_rep4$slib_nb.X()), $slib_h]);\ |
||
84 | $(slib_jx)_rep4$slib_nb.moveTo([Math.min($(slib_jx)_rep4$slib_nb.X(),$(slib_jx)_rep5$slib_nb.X()), $slib_h]);\ |
||
85 | $(slib_jx)_rep5$slib_nb.moveTo([Math.max($(slib_jx)_rep4$slib_nb.X(),$(slib_jx)_rep5$slib_nb.X()), $slib_h]); |
||
11344 | bpr | 86 | |
87 | !else |
||
88 | !set slib_scriptmove=$slib_brd.on('move', function(){\ |
||
11352 | bpr | 89 | $(slib_jx)_rep1$slib_nb.moveTo([Math.min($(slib_jx)_rep1$slib_nb.X(),$(slib_jx)_rep2$slib_nb.X()), $slib_h]);\ |
90 | $(slib_jx)_rep2$slib_nb.moveTo([Math.min($(slib_jx)_rep2$slib_nb.X(),$(slib_jx)_rep3$slib_nb.X()), $slib_h]);\ |
||
91 | $(slib_jx)_rep3$slib_nb.moveTo([$(slib_jx)_rep3$slib_nb.X(), $slib_h]); |
||
11344 | bpr | 92 | !endif |
93 | |||
11352 | bpr | 94 | !set slib_scriptmove=$slib_scriptmove }); |
95 | !if $slib_ch=5 |
||
11344 | bpr | 96 | !set slib_script2=\ |
11352 | bpr | 97 | $(slib_jx)_pt1m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep1$slib_nb.X()},$slib_h2], {$slib_font,visible:false});\ |
98 | $(slib_jx)_pt1p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep1$slib_nb.X()},$slib_h1], {$slib_font,visible:false});\ |
||
99 | $(slib_jx)_pt5m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep5$slib_nb.X()},$slib_h2], {$slib_font,visible:false});\ |
||
100 | $(slib_jx)_pt5p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep5$slib_nb.X()},$slib_h1], {$slib_font,visible:false});\ |
||
101 | $(slib_jx)_pt2m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep2$slib_nb.X()},$slib_h4], {$slib_font,visible:false});\ |
||
102 | $(slib_jx)_pt2p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep2$slib_nb.X()},$slib_h3], {$slib_font,visible:false});\ |
||
103 | $(slib_jx)_pt3m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep3$slib_nb.X()},$slib_h4], {$slib_font,visible:false});\ |
||
104 | $(slib_jx)_pt3p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep3$slib_nb.X()},$slib_h3], {$slib_font,visible:false});\ |
||
105 | $(slib_jx)_pt4m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep4$slib_nb.X()},$slib_h4], {$slib_font,visible:false});\ |
||
106 | $(slib_jx)_pt4p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep4$slib_nb.X()},$slib_h3], {$slib_font,visible:false});\ |
||
11344 | bpr | 107 | |
11352 | bpr | 108 | !set slib_script3=\ |
109 | $slib_brd.create('line',[$(slib_jx)_rep1$slib_nb,$(slib_jx)_rep2$slib_nb],{straightFirst:false, straightLast:false});\ |
||
110 | $slib_brd.create('line',[$(slib_jx)_rep4$slib_nb,$(slib_jx)_rep5$slib_nb],{straightFirst:false, straightLast:false});\ |
||
111 | $slib_brd.create('line',[$(slib_jx)_pt1m$slib_nb,$(slib_jx)_pt1p$slib_nb],{straightFirst:false, straightLast:false});\ |
||
112 | $slib_brd.create('line',[$(slib_jx)_pt5m$slib_nb,$(slib_jx)_pt5p$slib_nb],{straightFirst:false, straightLast:false});\ |
||
113 | $slib_brd.create('line',[$(slib_jx)_pt2m$slib_nb,$(slib_jx)_pt2p$slib_nb],{straightFirst:false, straightLast:false});\ |
||
114 | $slib_brd.create('line',[$(slib_jx)_pt3m$slib_nb,$(slib_jx)_pt3p$slib_nb],{straightFirst:false, straightLast:false});\ |
||
115 | $slib_brd.create('line',[$(slib_jx)_pt4m$slib_nb,$(slib_jx)_pt4p$slib_nb],{straightFirst:false, straightLast:false});\ |
||
116 | $slib_brd.create('line',[$(slib_jx)_pt2m$slib_nb,$(slib_jx)_pt4m$slib_nb],{straightFirst:false, straightLast:false});\ |
||
117 | $slib_brd.create('line',[$(slib_jx)_pt2p$slib_nb,$(slib_jx)_pt4p$slib_nb],{straightFirst:false, straightLast:false}); |
||
118 | |||
11344 | bpr | 119 | !else |
120 | !set slib_script2=\ |
||
11352 | bpr | 121 | $(slib_jx)_pt1m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep1$slib_nb.X()},$slib_h4], {$slib_font,visible:false});\ |
122 | $(slib_jx)_pt1p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep1$slib_nb.X()},$slib_h3], {$slib_font,visible:false});\ |
||
123 | $(slib_jx)_pt2m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep2$slib_nb.X()},$slib_h4], {$slib_font,visible:false});\ |
||
124 | $(slib_jx)_pt2p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep2$slib_nb.X()},$slib_h3], {$slib_font,visible:false});\ |
||
125 | $(slib_jx)_pt3m$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep3$slib_nb.X()},$slib_h4], {$slib_font,visible:false});\ |
||
126 | $(slib_jx)_pt3p$slib_nb=$slib_brd.create('point',[function(){return $(slib_jx)_rep3$slib_nb.X()},$slib_h3], {$slib_font,visible:false});\ |
||
11344 | bpr | 127 | |
128 | !set slib_script3=\ |
||
11352 | bpr | 129 | $slib_brd.create('line',[$(slib_jx)_pt1m$slib_nb,$(slib_jx)_pt1p$slib_nb],{straightFirst:false, straightLast:false});\ |
130 | $slib_brd.create('line',[$(slib_jx)_pt2m$slib_nb,$(slib_jx)_pt2p$slib_nb],{straightFirst:false, straightLast:false});\ |
||
131 | $slib_brd.create('line',[$(slib_jx)_pt3m$slib_nb,$(slib_jx)_pt3p$slib_nb],{straightFirst:false, straightLast:false});\ |
||
132 | $slib_brd.create('line',[$(slib_jx)_pt1m$slib_nb,$(slib_jx)_pt3m$slib_nb],{straightFirst:false, straightLast:false});\ |
||
133 | $slib_brd.create('line',[$(slib_jx)_pt1p$slib_nb,$(slib_jx)_pt3p$slib_nb],{straightFirst:false, straightLast:false}); |
||
11344 | bpr | 134 | !endif |
135 | |||
136 | !set slib_out=$slib_script1\ |
||
137 | $slib_scriptmove\ |
||
138 | $slib_script2\ |
||
139 | $slib_script3 |
||
140 | |||
11352 | bpr | 141 | !if raw notwordof $slib_opt |
142 | !readproc slib/geo2D/jsxgraph $slib_jx,$(slib_xsize) x $(slib_ysize),$slib_out |
||
11344 | bpr | 143 | !else |
11352 | bpr | 144 | slib_out=$slib_jx $slib_brd Y=$slib_h\ |
11344 | bpr | 145 | $slib_out\ |
11352 | bpr | 146 | $(slib_jx)_var1=[$(slib_p[1]),$slib_h] |
147 | !for slib_i=2 to $slib_ch |
||
148 | slib_out=$slib_out;$(slib_jx)_var$slib_i=[$(slib_p[$slib_i]),$slib_h] |
||
11344 | bpr | 149 | !next |
150 | !endif |