%% papier de Weibull
10 setborder
100 setxunit
576 setheight
10 setfontsize
-2.81 5.41 setxrange
-7.3 2.3 setyrange
%0 0 moveto
%90 rotate
%0 -576 translate
%% la fonction pour l'echelle verticale
/F {
neg 1 add 1 exch .0001 max div ln ln
} def
%% syntaxe : n weibull_vbande --> %% lignes verticales entre 10^i et 10^(i+1)
/weibull_vbande {
5 dict begin
/n exch def
/liste_fine [n 1 sub n log_seq] def
/liste [n dup 1 add log_seq] def
/i liste length def
i 1 sub {
/k liste i 2 sub get def
liste_fine {k add svrule} apply
/i i 1 sub store
} repeat
end
} def
%% syntaxe : n weibull_hbande --> lignes horizontales entre 100 x 10^(i) et 100 x 10^(i+1)
/weibull_hbande {
5 dict begin
/n exch def
/liste_fine [n 3 sub dup 1 add log_seq] def
/liste [n 2 sub dup 1 add log_seq] def
/i liste length def
i 1 sub {
/k liste i 2 sub get def
liste_fine {k add shrule} apply
/i i 1 sub store
} repeat
end
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%% echelle : (1,1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% numerotation haute
-2.3 5.3 setxrange
%% ######### origine : (.1, .001) ######### %%
%% trace de l'axe horizontal haut
.01 ln .999 F setorigine
.2 setxsubtkstep
1 dict begin
/xmarkstyle {uctext} def
traceOx
.2 setxtkstep
xticks
xmarks
0 xmark
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%% echelle : (ln, F) %%%%%%%%%%%%%%%%%%%%%%%%%%%%
/xscale {ln} def
/yscale {F} def
.1 230 setxrange
.001 .999 setyrange
%% le quadrillage
.4 setgray
gsave
masque
.01 setlinewidth
%% lignes verticales entre 10^(-1) et 10^2
[-1 0 1 2] {weibull_vbande} apply
%% lignes horizontales entre 100 x 10^(-3) et 100 x 10^(-2)
-1 weibull_hbande
%% lignes horizontales entre 100 x 10^(-2) et 100 x 10^(0)
[0 1] {weibull_hbande} apply
grestore
%% on repasse en noir le grillage simple
noir
.2 setlinewidth
%% grille verticale
[-1 3 log_seq] {svrule} apply
%% grille horizontale
[[-3 0 log_seq] aload pop pop .99] {shrule} apply
%% les numerotations gauches, basses et medium
%% pour l'axe vertical, on affiche 100 fois la valeur réelle
/ymarkstyle {
3 -1 roll
cvr
100 mul
ch cvs
3 1 roll
(-5 0) cltext
} def
%% ######### origine : (.1, .001) ######### %%
.1 .001 setorigine
%% numerotation sur Oy
[.1 .2 .3 .5 1 2 3 5 10 20 30 50 70 90 99 99.9] {.01 mul ymark} apply
%% numerotation sur Ox (horizontal bas) partie entre .1 et 1
/xmarkstyle {uctext} def
[-1 0 log_seq] %% graduations entre 10^(-1) et 10^3
{pop exch pop} 9 9 Apply %% on supprimes les graduations 7 et 9
dup {xmark} apply %% on numerote
%% ######### origine : (.1, 1 - 1/e) ######### %%
0 1 1 e div sub setorigine %% on recommence, avec la nouvelle origine,
%% numerotation sur Ox (horizontal median) partie entre .1 et 1
[-1 0 log_seq] %% graduations entre 10^(-1) et 10^0
{pop exch pop} 9 9 Apply %% on supprimes les graduations 7 et 9
cdr {xmark} apply %% mais sans la premiere numerotation
1 dict begin
%% on veut convertir les valeurs en entiers
/xmark {
dup xtick
/Courier findfont .8 fontsize mul scalefont setfont
dup cvi ch cvs exch
Oy xmarkstyle
} def
%% ######### origine : (.1, .001) ######### %%
.1 .001 setorigine
%% numerotation sur Ox (horizontal bas) partie entre 1 et xmax
[0 3 log_seq] %% graduations entre 10^(-1) et 10^3
{pop exch pop} 9 9 Apply %% on supprimes les graduations 7 et 9
dup {xmark} apply %% on numerote
%% ######### origine : (.1, 1 - 1/e) ######### %%
0 1 1 e div sub setorigine
{xmark} apply %% mais sans la premiere numerotation
gsave
currentlinewidth 2 mul setlinewidth
traceOx
grestore
%%%%%%%%%%%%%%%%%%%%%%%%%%%% echelle : (ln, -1) %%%%%%%%%%%%%%%%%%%%%%%%%%%%
/yscale {neg} def
%% l'axe vertical median
/ymarkstyle {cltext} def
/fillstyle {blanc fill} def
gsave
1 dict begin
%%%%%%%%% echelle : (1,-1) %%%%%%%%%
-1 Exp 0 stranslate
-.05 6.9 setyrange
/xscale {} def
blanc
0 setlinewidth
-.05 -.05 .05 6.9 frame*
noir
traceOy
.2 setysubtkstep
yticks
ysubticks
ymarks
0 ymark
end
grestore
%% %% la rose des beta
%% /xscale {} def
%% /yscale {neg} def
%%
%% 2 0 stranslate
%%
%% gsave
%% newpath
%% 0 1 smoveto
%% 90 180 0 0 1 Cercle_
%% 0 0 slineto
%% closepath
%% clip
%%
%% .7 setlinewidth
%% 90 180 0 0 .9 Cercle
%% /xscale {ln} def
%% [
%% .3 .6 1 2 3 4 5 8
%% ] {setxvar 1 0 1 e div x} apply
%% ligne
%% grestore
%%
%% 8 setfontsize
%% setTimes
%% (0,3) -1.05 Exp .3 cctext
%% (0,6) -.92 Exp .6 cctext
%% (1) -.7 Exp .8 cctext
%% (2) -.5 Exp 1 cctext
%% (3) -.35 Exp 1.1 cctext
%% (5) -.2 Exp 1.12 cctext
%% (8) -.1 Exp 1.13 cctext
%% setSymbol
%% (b) 0 Exp .9 crtext
|