32 SUBROUTINE plot_distrib( ARRAY,S_ARRAY, NB_INTERV,SIZEY,X_MINVALUE,
33 . X_MAXVALUE,Y_MAXVALUE,ECRIT)
39#include "implicit_f.inc"
47 INTEGER NB_INTERV,SIZEY,S_ARRAY
49 . array(*),x_minvalue, x_maxvalue,y_maxvalue
51 CHARACTER(len=60) :: FMTA,FMTB,FMTC
55 INTEGER KK,FLAG_FMT,I,J,K,IGS,ID,FLAG_FMT_TMP,IFIX_TMP,
56 . isu,numa,j10(10),igauss,ifunc,uid,sub_id,max_part,
57 . cpt_part,ng,ity,nel,nft,ii,distrib(nb_interv),max_distrib
59 . mean,sd,mean_input,sd_input,temp,interv,
61 CHARACTER*100 CHAR(100)
62 CHARACTER*100 CHAR1(100)
68 distrib(1:nb_interv) = 0
69 interv = (x_maxvalue-x_minvalue)/nb_interv
74 IF(array(j) >= x_minvalue+interv*(ii-1) .AND.
75 . array(j) < x_minvalue+interv*ii)
THEN
76 distrib(ii) = distrib(ii) + 1
78 IF(array(j) == x_maxvalue) distrib(ii) = distrib(ii) + 1
86 VALUE =
VALUE * hundred
88 x_maxvalue1 =
max(x_maxvalue1,
VALUE)
89 max_distrib =
max(max_distrib,distrib(ii))
95 VALUE =
VALUE * hundred
98 IF(
VALUE > (j-1) * x_maxvalue1/(sizey+1))
THEN
99 char(ii)(j:j)= ecrit(1:1)
107 char1(j)(ii:ii) = char(ii)(j:j)
111 IF(y_maxvalue /= zero)
THEN
112 WRITE(iout,
'(10X,1PG20.13)') y_maxvalue
113 ELSEIF(x_maxvalue1 /= zero)
THEN
114 WRITE(iout,
'(15X,I10)') max_distrib
118 IF (x_maxvalue1/(x_maxvalue1/(sizey+1)) > (sizey+1)-ii+1 )
119 .
WRITE(iout,
'(19X,A,A)')
'|',char1((sizey+1)-ii+1)(1:nb_interv)
126 char2(nb_interv:nb_interv+1) =
'>'
127 WRITE(iout,
'(20X,A)') char2(1:51)
131 char2(nb_interv:nb_interv)=
'|'
132 WRITE(iout,
'(20X,A)') char2(1:51)
134 IF (nb_interv <= 10)
THEN
135 fmta=
'(10X,1PG20.13,2X,1PG20.13)'
136 ELSEIF (nb_interv <= 20)
THEN
137 fmta=
'(10X,1PG20.13,5X,1PG20.13)'
138 ELSEIF (nb_interv <= 30)
THEN
139 fmta=
'(10X,1PG20.13,15X,1PG20.13)'
140 ELSEIF (nb_interv <= 40)
THEN
141 fmta=
'(10X,1PG20.13,25X,1PG20.13)'
142 ELSEIF (nb_interv <= 50)
THEN
143 fmta=
'(10X,1PG20.13,35X,1PG20.13)'
144 ELSEIF (nb_interv <= 60)
THEN
145 fmta=
'(10X,1PG20.13,45X,1PG20.13)'
146 ELSEIF (nb_interv <= 70)
THEN
147 fmta=
'(10X,1PG20.13,55X,1PG20.13)'
148 ELSEIF (nb_interv <= 80)
THEN
149 fmta=
'(10X,1PG20.13,65X,1PG20.13)'
150 ELSEIF (nb_interv <= 90)
THEN
151 fmta=
'(10X,1PG20.13,75X,1PG20.13)'
153 fmta=
'(10X,1PG20.13,85X,1PG20.13)'
156 WRITE(iout,fmt=fmta) x_minvalue,x_maxvalue
subroutine plot_distrib(array, s_array, nb_interv, sizey, x_minvalue, x_maxvalue, y_maxvalue, ecrit)