Les sources de Syracuse weibull_a4_gris.jps
weibull_a4_gris.jpg

%% 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


Page composée par petitParseur[ps2html] le vendredi 5 décembre 2008.