Rev 11346 | Rev 11352 | 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 | |||
5 | slib_parms=4\ |
||
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\ |
||
13 | en prenant l'option raw.\ |
||
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 | |||
28 | !distribute item $wims_read_parm into slib_range,slib_parm,slib_fix,slib_option |
||
29 | !set slib_size=600,300 |
||
30 | !set slib_fix=!declosing $slib_fix |
||
31 | !set slib_range=!declosing $slib_range |
||
32 | !distribute item $slib_range into slib_xmin,slib_xmax |
||
33 | !set slib_stick=!getopt stick in $slib_option |
||
34 | !default slib_stick=1 |
||
35 | !set slib_parm=!declosing $slib_parm |
||
36 | !set slib_parm=!sort numeric item $slib_parm |
||
37 | !set slib_choice=!itemcnt $slib_parm |
||
38 | !if $slib_choice=3 |
||
39 | !distribute item $slib_parm into slib_q1,slib_med,slib_q3 |
||
40 | !else |
||
41 | !distribute item $slib_parm into slib_dec1,slib_q1,slib_med,slib_q3,slib_dec9 |
||
42 | !endif |
||
43 | !set slib_option=!declosing $slib_option |
||
44 | !set slib_number=!getopt number in $slib_option |
||
45 | !if $slib_number!=$empty |
||
46 | slib_number=_$slib_number |
||
47 | !endif |
||
48 | !set slib_brd=brd$slib_number |
||
49 | !set slib_jxgbox=jxgbox$slib_number |
||
50 | !set slib_height=3 |
||
51 | !set slib_height1=$[$slib_height-1] |
||
52 | !set slib_height2=$[$slib_height+1] |
||
53 | !set slib_height3=$[$slib_height-2] |
||
54 | !set slib_height4=$[$slib_height+2] |
||
55 | slib_script1=var $slib_brd = JXG.JSXGraph.initBoard('$slib_jxgbox', {\ |
||
56 | axis:false,boundingbox: [$slib_xmin, 7, $slib_xmax, -2], grid:true, shownavigation:false});\ |
||
57 | xaxis = $slib_brd.create('axis', [[0, 0], [1, 0]], {\ |
||
58 | ticks: {ticksDistance: $slib_stick, insertTicks: false}});\ |
||
59 | yaxis = $slib_brd.create('axis', [[0, 0], [0, 3]],{\ |
||
60 | ticks: {ticksDistance:2, insertTicks: false,visible:false},visible:false}); |
||
11350 | bpr | 61 | !set slib_font=face:'o', name:'', size:2, showInfobox: true |
11344 | bpr | 62 | !for slib_i=1 to $slib_choice |
63 | !if $(slib_fix[$slib_i])=f |
||
64 | !set slib_fixme=,fixed:true,visible:false |
||
65 | !else |
||
66 | !reset slib_fixme |
||
67 | !endif |
||
11350 | bpr | 68 | !if raw notwordof $slib_option |
69 | !set slib_script1=$slib_script1\ |
||
70 | $(slib_jxgbox)_rep$slib_i$slib_number=$slib_brd.create('point',[$(slib_parm[$slib_i]),$slib_height], {$slib_font$slib_fixme}); |
||
71 | !else |
||
72 | !set slib_script1=$slib_script1\ |
||
73 | $(slib_jxgbox)_rep$slib_i$slib_number=$slib_brd.create('point',$(slib_jxgbox)_var$slib_i$slib_number, {$slib_font$slib_fixme}); |
||
74 | |||
75 | !endif |
||
11344 | bpr | 76 | !next |
77 | !if $slib_choice=5 |
||
78 | !set slib_scriptmove=$slib_brd.on('move', function(){\ |
||
11350 | bpr | 79 | $(slib_jxgbox)_rep1$slib_number.moveTo([Math.min($(slib_jxgbox)_rep1$slib_number.X(),$(slib_jxgbox)_rep2$slib_number.X()), $slib_height]);\ |
80 | $(slib_jxgbox)_rep2$slib_number.moveTo([Math.min($(slib_jxgbox)_rep2$slib_number.X(),$(slib_jxgbox)_rep3$slib_number.X()), $slib_height]);\ |
||
81 | $(slib_jxgbox)_rep3$slib_number.moveTo([Math.min($(slib_jxgbox)_rep3$slib_number.X(),$(slib_jxgbox)_rep4$slib_number.X()), $slib_height]);\ |
||
82 | $(slib_jxgbox)_rep4$slib_number.moveTo([Math.min($(slib_jxgbox)_rep4$slib_number.X(),$(slib_jxgbox)_rep5$slib_number.X()), $slib_height]);\ |
||
83 | $(slib_jxgbox)_rep5$slib_number.moveTo([Math.max($(slib_jxgbox)_rep4$slib_number.X(),$(slib_jxgbox)_rep5$slib_number.X()), $slib_height]); |
||
11344 | bpr | 84 | |
85 | !else |
||
86 | !set slib_scriptmove=$slib_brd.on('move', function(){\ |
||
11350 | bpr | 87 | $(slib_jxgbox)_rep1$slib_number.moveTo([Math.min($(slib_jxgbox)_rep1$slib_number.X(),$(slib_jxgbox)_rep2$slib_number.X()), $slib_height]);\ |
88 | $(slib_jxgbox)_rep2$slib_number.moveTo([Math.min($(slib_jxgbox)_rep2$slib_number.X(),$(slib_jxgbox)_rep3$slib_number.X()), $slib_height]);\ |
||
89 | $(slib_jxgbox)_rep3$slib_number.moveTo([$(slib_jxgbox)_rep3$slib_number.X(), $slib_height]); |
||
11344 | bpr | 90 | !endif |
91 | |||
92 | !set slib_scriptmove=$slib_scriptmove\ |
||
93 | }); |
||
94 | !if $slib_choice=5 |
||
95 | !set slib_script2=\ |
||
11350 | bpr | 96 | $(slib_jxgbox)_pt1m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height2], {$slib_font,visible:false});\ |
97 | $(slib_jxgbox)_pt1p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height1], {$slib_font,visible:false});\ |
||
98 | $(slib_jxgbox)_pt5m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep5$slib_number.X()},$slib_height2], {$slib_font,visible:false});\ |
||
99 | $(slib_jxgbox)_pt5p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep5$slib_number.X()},$slib_height1], {$slib_font,visible:false});\ |
||
100 | $(slib_jxgbox)_pt2m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height4], {$slib_font,visible:false});\ |
||
101 | $(slib_jxgbox)_pt2p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height3], {$slib_font,visible:false});\ |
||
102 | $(slib_jxgbox)_pt3m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height4], {$slib_font,visible:false});\ |
||
103 | $(slib_jxgbox)_pt3p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height3], {$slib_font,visible:false});\ |
||
104 | $(slib_jxgbox)_pt4m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep4$slib_number.X()},$slib_height4], {$slib_font,visible:false});\ |
||
105 | $(slib_jxgbox)_pt4p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep4$slib_number.X()},$slib_height3], {$slib_font,visible:false});\ |
||
11344 | bpr | 106 | |
11350 | bpr | 107 | !set slib_script3=$slib_brd.create('line',[$(slib_jxgbox)_rep1$slib_number,$(slib_jxgbox)_rep2$slib_number],{straightFirst:false, straightLast:false});\ |
108 | $slib_brd.create('line',[$(slib_jxgbox)_rep4$slib_number,$(slib_jxgbox)_rep5$slib_number],{straightFirst:false, straightLast:false});\ |
||
11344 | bpr | 109 | $slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt1p$slib_number],{straightFirst:false, straightLast:false});\ |
110 | $slib_brd.create('line',[$(slib_jxgbox)_pt5m$slib_number,$(slib_jxgbox)_pt5p$slib_number],{straightFirst:false, straightLast:false});\ |
||
111 | $slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt2p$slib_number],{straightFirst:false, straightLast:false});\ |
||
112 | $slib_brd.create('line',[$(slib_jxgbox)_pt3m$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false});\ |
||
113 | $slib_brd.create('line',[$(slib_jxgbox)_pt4m$slib_number,$(slib_jxgbox)_pt4p$slib_number],{straightFirst:false, straightLast:false});\ |
||
114 | $slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt4m$slib_number],{straightFirst:false, straightLast:false});\ |
||
115 | $slib_brd.create('line',[$(slib_jxgbox)_pt2p$slib_number,$(slib_jxgbox)_pt4p$slib_number],{straightFirst:false, straightLast:false}); |
||
116 | !else |
||
117 | !set slib_script2=\ |
||
11350 | bpr | 118 | $(slib_jxgbox)_pt1m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height4], {$slib_font,visible:false});\ |
119 | $(slib_jxgbox)_pt1p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height3], {$slib_font,visible:false});\ |
||
120 | $(slib_jxgbox)_pt2m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height4], {$slib_font,visible:false});\ |
||
121 | $(slib_jxgbox)_pt2p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height3], {$slib_font,visible:false});\ |
||
122 | $(slib_jxgbox)_pt3m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height4], {$slib_font,visible:false});\ |
||
123 | $(slib_jxgbox)_pt3p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height3], {$slib_font,visible:false});\ |
||
11344 | bpr | 124 | |
125 | !set slib_script3=\ |
||
126 | $slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt1p$slib_number],{straightFirst:false, straightLast:false});\ |
||
127 | $slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt2p$slib_number],{straightFirst:false, straightLast:false});\ |
||
128 | $slib_brd.create('line',[$(slib_jxgbox)_pt3m$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false});\ |
||
129 | $slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt3m$slib_number],{straightFirst:false, straightLast:false});\ |
||
130 | $slib_brd.create('line',[$(slib_jxgbox)_pt1p$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false}); |
||
131 | !endif |
||
132 | |||
133 | !set slib_out=$slib_script1\ |
||
134 | $slib_scriptmove\ |
||
135 | $slib_script2\ |
||
136 | $slib_script3 |
||
137 | |||
138 | !if raw notwordof $slib_option |
||
139 | !readproc slib/geo2D/jsxgraph $slib_jxgbox,$(slib_size[1]) x $(slib_size[2]),$slib_out |
||
140 | !else |
||
141 | slib_out=$slib_jxgbox $slib_brd\ |
||
142 | $slib_out\ |
||
11350 | bpr | 143 | $(slib_jxgbox)_var1=[$(slib_parm[1]),$slib_height] |
11344 | bpr | 144 | !for slib_i=2 to $slib_choice |
11350 | bpr | 145 | slib_out=$slib_out;$(slib_jxgbox)_var$slib_i=[$(slib_parm[$slib_i]),$slib_height] |
11344 | bpr | 146 | !next |
147 | !endif |