Subversion Repositories wimsdev

Rev

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