Subversion Repositories wimsdev

Rev

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