Rev 11346 | Rev 11352 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_parms=4\
,minimum, maximum de la fenêtre\
,[d1,q1,mediane,q2,d2] or [q1,mediane,q2] \
,vector with m (mobile) or f (fixed)\
,option:number="" (dans le cas de plusieurs sorties jsxgraph dans la même page), \
raw (for the anstype jsxcurve, in progress)
slib_out=Boite à moustaches. Peut être utilisé dans le type de réponse jsxgraph\
en prenant l'option raw.\
slib_author=Bernadette, Perrin-Riou
slib_title=Box plot
slib_example=[0,10],[4,6,7],,number=1\
[0,10],[4,6,7],[m,f],number=2\
[0,10],[1,4,6,7,8],,number=3\
[10,100],[21,54,66,77,89],[m,f,f,m,f],number=4 stick=10\
[0,10],[1,2,6],,raw
!exit
:proc
slib_out=
!distribute item $wims_read_parm into slib_range,slib_parm,slib_fix,slib_option
!set slib_size=600,300
!set slib_fix=!declosing $slib_fix
!set slib_range=!declosing $slib_range
!distribute item $slib_range into slib_xmin,slib_xmax
!set slib_stick=!getopt stick in $slib_option
!default slib_stick=1
!set slib_parm=!declosing $slib_parm
!set slib_parm=!sort numeric item $slib_parm
!set slib_choice=!itemcnt $slib_parm
!if $slib_choice=3
!distribute item $slib_parm into slib_q1,slib_med,slib_q3
!else
!distribute item $slib_parm into slib_dec1,slib_q1,slib_med,slib_q3,slib_dec9
!endif
!set slib_option=!declosing $slib_option
!set slib_number=!getopt number in $slib_option
!if $slib_number!=$empty
slib_number=_$slib_number
!endif
!set slib_brd=brd$slib_number
!set slib_jxgbox=jxgbox$slib_number
!set slib_height=3
!set slib_height1=$[$slib_height-1]
!set slib_height2=$[$slib_height+1]
!set slib_height3=$[$slib_height-2]
!set slib_height4=$[$slib_height+2]
slib_script1=var $slib_brd = JXG.JSXGraph.initBoard('$slib_jxgbox', {\
axis:false,boundingbox: [$slib_xmin, 7, $slib_xmax, -2], grid:true, shownavigation:false});\
xaxis = $slib_brd.create('axis', [[0, 0], [1, 0]], {\
ticks: {ticksDistance: $slib_stick, insertTicks: false}});\
yaxis = $slib_brd.create('axis', [[0, 0], [0, 3]],{\
ticks: {ticksDistance:2, insertTicks: false,visible:false},visible:false});
!set slib_font=face:'o', name:'', size:2, showInfobox: true
!for slib_i=1 to $slib_choice
!if $(slib_fix[$slib_i])=f
!set slib_fixme=,fixed:true,visible:false
!else
!reset slib_fixme
!endif
!if raw notwordof $slib_option
!set slib_script1=$slib_script1\
$(slib_jxgbox)_rep$slib_i$slib_number=$slib_brd.create('point',[$(slib_parm[$slib_i]),$slib_height], {$slib_font$slib_fixme});
!else
!set slib_script1=$slib_script1\
$(slib_jxgbox)_rep$slib_i$slib_number=$slib_brd.create('point',$(slib_jxgbox)_var$slib_i$slib_number, {$slib_font$slib_fixme});
!endif
!next
!if $slib_choice=5
!set slib_scriptmove=$slib_brd.on('move', function(){\
$(slib_jxgbox)_rep1$slib_number.moveTo([Math.min($(slib_jxgbox)_rep1$slib_number.X(),$(slib_jxgbox)_rep2$slib_number.X()), $slib_height]);\
$(slib_jxgbox)_rep2$slib_number.moveTo([Math.min($(slib_jxgbox)_rep2$slib_number.X(),$(slib_jxgbox)_rep3$slib_number.X()), $slib_height]);\
$(slib_jxgbox)_rep3$slib_number.moveTo([Math.min($(slib_jxgbox)_rep3$slib_number.X(),$(slib_jxgbox)_rep4$slib_number.X()), $slib_height]);\
$(slib_jxgbox)_rep4$slib_number.moveTo([Math.min($(slib_jxgbox)_rep4$slib_number.X(),$(slib_jxgbox)_rep5$slib_number.X()), $slib_height]);\
$(slib_jxgbox)_rep5$slib_number.moveTo([Math.max($(slib_jxgbox)_rep4$slib_number.X(),$(slib_jxgbox)_rep5$slib_number.X()), $slib_height]);
!else
!set slib_scriptmove=$slib_brd.on('move', function(){\
$(slib_jxgbox)_rep1$slib_number.moveTo([Math.min($(slib_jxgbox)_rep1$slib_number.X(),$(slib_jxgbox)_rep2$slib_number.X()), $slib_height]);\
$(slib_jxgbox)_rep2$slib_number.moveTo([Math.min($(slib_jxgbox)_rep2$slib_number.X(),$(slib_jxgbox)_rep3$slib_number.X()), $slib_height]);\
$(slib_jxgbox)_rep3$slib_number.moveTo([$(slib_jxgbox)_rep3$slib_number.X(), $slib_height]);
!endif
!set slib_scriptmove=$slib_scriptmove\
});
!if $slib_choice=5
!set slib_script2=\
$(slib_jxgbox)_pt1m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height2], {$slib_font,visible:false});\
$(slib_jxgbox)_pt1p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height1], {$slib_font,visible:false});\
$(slib_jxgbox)_pt5m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep5$slib_number.X()},$slib_height2], {$slib_font,visible:false});\
$(slib_jxgbox)_pt5p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep5$slib_number.X()},$slib_height1], {$slib_font,visible:false});\
$(slib_jxgbox)_pt2m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height4], {$slib_font,visible:false});\
$(slib_jxgbox)_pt2p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height3], {$slib_font,visible:false});\
$(slib_jxgbox)_pt3m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height4], {$slib_font,visible:false});\
$(slib_jxgbox)_pt3p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height3], {$slib_font,visible:false});\
$(slib_jxgbox)_pt4m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep4$slib_number.X()},$slib_height4], {$slib_font,visible:false});\
$(slib_jxgbox)_pt4p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep4$slib_number.X()},$slib_height3], {$slib_font,visible:false});\
!set slib_script3=$slib_brd.create('line',[$(slib_jxgbox)_rep1$slib_number,$(slib_jxgbox)_rep2$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_rep4$slib_number,$(slib_jxgbox)_rep5$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt1p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt5m$slib_number,$(slib_jxgbox)_pt5p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt2p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt3m$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt4m$slib_number,$(slib_jxgbox)_pt4p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt4m$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt2p$slib_number,$(slib_jxgbox)_pt4p$slib_number],{straightFirst:false, straightLast:false});
!else
!set slib_script2=\
$(slib_jxgbox)_pt1m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height4], {$slib_font,visible:false});\
$(slib_jxgbox)_pt1p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep1$slib_number.X()},$slib_height3], {$slib_font,visible:false});\
$(slib_jxgbox)_pt2m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height4], {$slib_font,visible:false});\
$(slib_jxgbox)_pt2p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep2$slib_number.X()},$slib_height3], {$slib_font,visible:false});\
$(slib_jxgbox)_pt3m$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height4], {$slib_font,visible:false});\
$(slib_jxgbox)_pt3p$slib_number=$slib_brd.create('point',[function(){return $(slib_jxgbox)_rep3$slib_number.X()},$slib_height3], {$slib_font,visible:false});\
!set slib_script3=\
$slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt1p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt2m$slib_number,$(slib_jxgbox)_pt2p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt3m$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt1m$slib_number,$(slib_jxgbox)_pt3m$slib_number],{straightFirst:false, straightLast:false});\
$slib_brd.create('line',[$(slib_jxgbox)_pt1p$slib_number,$(slib_jxgbox)_pt3p$slib_number],{straightFirst:false, straightLast:false});
!endif
!set slib_out=$slib_script1\
$slib_scriptmove\
$slib_script2\
$slib_script3
!if raw notwordof $slib_option
!readproc slib/geo2D/jsxgraph $slib_jxgbox,$(slib_size[1]) x $(slib_size[2]),$slib_out
!else
slib_out=$slib_jxgbox $slib_brd\
$slib_out\
$(slib_jxgbox)_var1=[$(slib_parm[1]),$slib_height]
!for slib_i=2 to $slib_choice
slib_out=$slib_out;$(slib_jxgbox)_var$slib_i=[$(slib_parm[$slib_i]),$slib_height]
!next
!endif