Rev 11344 | Rev 11350 | 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\ |
||
21 | [0,10],[jxgbox_var1,jxgbox_var2,jxgbox_var3],,raw |
||
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}); |
||
61 | !for slib_i=1 to $slib_choice |
||
62 | !if $(slib_fix[$slib_i])=f |
||
63 | !set slib_fixme=,fixed:true,visible:false |
||
64 | !else |
||
65 | !reset slib_fixme |
||
66 | !endif |
||
67 | !set slib_script1=$slib_script1\ |
||
68 | $(slib_jxgbox)_pt$slib_i$slib_number=$slib_brd.create('point',[$(slib_parm[$slib_i]),$slib_height], {face:'o', name:'', size:2, showInfobox: true$slib_fixme});\ |
||
11346 | bpr | 69 | $(slib_jxgbox)_rep$slib_i=$slib_brd.create('text',[0,$slib_i,function() {return $(slib_jxgbox)_pt$slib_i$slib_number.X()}],{visible:false}); |
11344 | bpr | 70 | !next |
71 | !if $slib_choice=5 |
||
72 | !set slib_scriptmove=$slib_brd.on('move', function(){\ |
||
73 | $(slib_jxgbox)_pt1$slib_number.moveTo([Math.min($(slib_jxgbox)_pt1$slib_number.X(),$(slib_jxgbox)_pt2$slib_number.X()), $slib_height]);\ |
||
74 | $(slib_jxgbox)_pt2$slib_number.moveTo([Math.min($(slib_jxgbox)_pt2$slib_number.X(),$(slib_jxgbox)_pt3$slib_number.X()), $slib_height]);\ |
||
75 | $(slib_jxgbox)_pt3$slib_number.moveTo([Math.min($(slib_jxgbox)_pt3$slib_number.X(),$(slib_jxgbox)_pt4$slib_number.X()), $slib_height]);\ |
||
76 | $(slib_jxgbox)_pt4$slib_number.moveTo([Math.min($(slib_jxgbox)_pt4$slib_number.X(),$(slib_jxgbox)_pt5$slib_number.X()), $slib_height]);\ |
||
77 | $(slib_jxgbox)_pt5$slib_number.moveTo([Math.max($(slib_jxgbox)_pt4$slib_number.X(),$(slib_jxgbox)_pt5$slib_number.X()), $slib_height]); |
||
78 | |||
79 | !else |
||
80 | !set slib_scriptmove=$slib_brd.on('move', function(){\ |
||
81 | $(slib_jxgbox)_pt1$slib_number.moveTo([Math.min($(slib_jxgbox)_pt1$slib_number.X(),$(slib_jxgbox)_pt2$slib_number.X()), $slib_height]);\ |
||
82 | $(slib_jxgbox)_pt2$slib_number.moveTo([Math.min($(slib_jxgbox)_pt2$slib_number.X(),$(slib_jxgbox)_pt3$slib_number.X()), $slib_height]);\ |
||
83 | $(slib_jxgbox)_pt3$slib_number.moveTo([$(slib_jxgbox)_pt3$slib_number.X(), $slib_height]); |
||
84 | !endif |
||
85 | |||
86 | !set slib_scriptmove=$slib_scriptmove\ |
||
87 | }); |
||
88 | !if $slib_choice=5 |
||
89 | !set slib_script2=\ |
||
90 | $(slib_jxgbox)_pt1m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt1$slib_number.X()},$slib_height2], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
91 | $(slib_jxgbox)_pt1p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt1$slib_number.X()},$slib_height1], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
92 | $(slib_jxgbox)_pt5m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt5$slib_number.X()},$slib_height2], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
93 | $(slib_jxgbox)_pt5p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt5$slib_number.X()},$slib_height1], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
94 | $(slib_jxgbox)_pt2m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt2$slib_number.X()},$slib_height4], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
95 | $(slib_jxgbox)_pt2p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt2$slib_number.X()},$slib_height3], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
96 | $(slib_jxgbox)_pt3m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt3$slib_number.X()},$slib_height4], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
97 | $(slib_jxgbox)_pt3p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt3$slib_number.X()},$slib_height3], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
98 | $(slib_jxgbox)_pt4m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt4$slib_number.X()},$slib_height4], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
99 | $(slib_jxgbox)_pt4p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt4$slib_number.X()},$slib_height3], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
100 | |||
101 | !set slib_script3=$slib_brd.create('line',[$(slib_jxgbox)_pt1$slib_number,$(slib_jxgbox)_pt2$slib_number],{straightFirst:false, straightLast:false});\ |
||
102 | $slib_brd.create('line',[$(slib_jxgbox)_pt4$slib_number,$(slib_jxgbox)_pt5$slib_number],{straightFirst:false, straightLast:false});\ |
||
103 | $slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt1p$slib_number],{straightFirst:false, straightLast:false});\ |
||
104 | $slib_brd.create('line',[$(slib_jxgbox)_pt5m$slib_number,$(slib_jxgbox)_pt5p$slib_number],{straightFirst:false, straightLast:false});\ |
||
105 | $slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt2p$slib_number],{straightFirst:false, straightLast:false});\ |
||
106 | $slib_brd.create('line',[$(slib_jxgbox)_pt3m$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false});\ |
||
107 | $slib_brd.create('line',[$(slib_jxgbox)_pt4m$slib_number,$(slib_jxgbox)_pt4p$slib_number],{straightFirst:false, straightLast:false});\ |
||
108 | $slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt4m$slib_number],{straightFirst:false, straightLast:false});\ |
||
109 | $slib_brd.create('line',[$(slib_jxgbox)_pt2p$slib_number,$(slib_jxgbox)_pt4p$slib_number],{straightFirst:false, straightLast:false}); |
||
110 | !else |
||
111 | !set slib_script2=\ |
||
112 | $(slib_jxgbox)_pt1m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt1$slib_number.X()},$slib_height4], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
113 | $(slib_jxgbox)_pt1p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt1$slib_number.X()},$slib_height3], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
114 | $(slib_jxgbox)_pt2m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt2$slib_number.X()},$slib_height4], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
115 | $(slib_jxgbox)_pt2p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt2$slib_number.X()},$slib_height3], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
116 | $(slib_jxgbox)_pt3m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt3$slib_number.X()},$slib_height4], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
117 | $(slib_jxgbox)_pt3p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_pt3$slib_number.X()},$slib_height3], {face:'o', name:'', size:2, showInfobox: true,visible:false});\ |
||
118 | |||
119 | !set slib_script3=\ |
||
120 | $slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt1p$slib_number],{straightFirst:false, straightLast:false});\ |
||
121 | $slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt2p$slib_number],{straightFirst:false, straightLast:false});\ |
||
122 | $slib_brd.create('line',[$(slib_jxgbox)_pt3m$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false});\ |
||
123 | $slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt3m$slib_number],{straightFirst:false, straightLast:false});\ |
||
124 | $slib_brd.create('line',[$(slib_jxgbox)_pt1p$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false}); |
||
125 | !endif |
||
126 | |||
127 | !set slib_out=$slib_script1\ |
||
128 | $slib_scriptmove\ |
||
129 | $slib_script2\ |
||
130 | $slib_script3 |
||
131 | |||
132 | !if raw notwordof $slib_option |
||
133 | !readproc slib/geo2D/jsxgraph $slib_jxgbox,$(slib_size[1]) x $(slib_size[2]),$slib_out |
||
134 | !else |
||
135 | slib_out=$slib_jxgbox $slib_brd\ |
||
136 | $slib_out\ |
||
137 | $(slib_jxgbox)_var1=$(slib_parm[1]) |
||
138 | !for slib_i=2 to $slib_choice |
||
139 | slib_out=$slib_out;$(slib_jxgbox)_var$slib_i=$(slib_parm[$slib_i]) |
||
140 | !next |
||
141 | !endif |