QQ Plot Modulbibliothek v4.0
Grafik-Ausgabe aus Fortran- oder C-Programmen

Mit diesem Fortran-Programm wurde die Tabelle erstellt.

     program lotto
     integer, save :: h(49)=&
     [309, 335, 343, 314, 320, 332, 320, 308, 324, 331, 313, 300, 276, 310,&
       320, 318, 336, 329, 325, 308, 334, 321, 319, 303, 324, 335, 322, 285,&
       318, 310, 333, 376, 340, 290, 329, 338, 320, 355, 325, 329, 335, 334,&
       311, 312, 304, 325, 310, 337, 360]
     real, save :: polygon(10)=[0.,0.,16.,0.,16.,999.,0.,999.,0.,0.]

     character*255 filename
     data filename /".\\lottostatistik.bmp"/

     call qqopenco (820.,700.,filename,3.,3.)
     rx=1.; call qqthickn (rx)            ! Strichstärke
     call qqdcolor (0, 199, 223, 245)     ! Hintergrundfarbe
!                                ----5----+---15----+---25----+---35----+
     call qqfont1 (120.,50.,25.,"Häufigkeit der gezogenen Lottozahlen",36)
     call qqfont1 (120.,10.,25.,"   von 1955 bis zum 20.02.1999",31)
     i=1                                    ! Schleife über alle Lottozahlen
     do while (i<=49)
         polygon(6)=h(i)-150.
         polygon(8)=polygon(6)
         x=i*30.; y=i/25
         call qqpoorig (x+20.-y*30.*24.,y*280.+120.) ! Nullpunktverschiebung
         call qqfillc (h(i)-260)                     ! Füllfarbe Polygon
         call qqpoly (5,polygon)                     ! Zeichne Polygon
         call qqifont1 (float((i+90)/100)*5.-5.,-20.,12.,i,2)    ! Lottozahl
         i=i+1
     end do
     rx=0.2             ! Strichstärke
     call qqthickn (rx)
     i=150
     do while (i<=350)
         call qqpoorig (30.,120.-150.+i)             ! Nullpunktverschiebung
         call qqpoint(-10.,0.); call qqline(740.,0.) ! Zeichne waagerechte Linie
         call qqifont1 (-20.,2.,12.,i,3)             ! Linie für wie oft gezogen
         call qqpoint(-10.,280.); call qqline(770.,280.) ! Zeichne waagerechte Linie
         call qqifont1 (-20.,2.+280.,12.,i,3)        ! Linie für wie oft gezogen
         i=i+50
     end do
     call qqclose
     stop
     end

Dieses C-Programm erstellt dieselbe Grafik.

extern "C" void qqopenco_(float*,float*,char*,float*,float*);
extern "C" void qqthickn_(float*);
extern "C" void qqdcolor_(int*,int*,int*,int*);
extern "C" void qqfont1_(float*,float*,float*,char*,int*);
extern "C" void qqpoorig_(float*,float*);
extern "C" void qqfillc_(int*);
extern "C" void qqpoly_(int*,float*);
extern "C" void qqifont1_(float*,float*,float*,int*,int*);
extern "C" void qqpoint_(float*,float*);
extern "C" void qqline_(float*,float*);
extern "C" void qqclose_();
extern "C" void g95_runtime_start(int argc, char *argv[]);
extern "C" void g95_runtime_stop();
int main()
{
float rx, ry, scalex, scaley;
char outfile[14], *openarg;
int i; float x; float y;
int i1; int i2; int i3; int i4;
float r1; float r2; float r3; float r4;
const int h[49]={
     309, 335, 343, 314, 320, 332, 320, 308, 324, 331, 313, 300, 276, 310,
     320, 318, 336, 329, 325, 308, 334, 321, 319, 303, 324, 335, 322, 285,
     318, 310, 333, 376, 340, 290, 329, 338, 320, 355, 325, 329, 335, 334,
     311, 312, 304, 325, 310, 337, 360};
float polygon[10]={0.,0.,16.,0.,16.,999.,0.,999.,0.,0.};

i=0;
openarg=0;
g95_runtime_start(i, &openarg);
rx=820.; ry=700.;
scalex=3.; scaley=3.;
qqopenco_(&rx,&ry,".\\lottostatistik.bmp\0",&scalex,&scaley);
rx=1.; qqthickn_(&rx);                       // pen thickness
i1=0; i2=199; i3=223; i4=245;
qqdcolor_(&i1,&i2,&i3,&i4);                  // background color
//                         ----5----+---15----+---25----+---35----+
r1=120.; r2=50.; r3=25.; i1=36;
qqfont1_(&r1,&r2,&r3,"Häufigkeit der gezogenen Lottozahlen\0",&i1);
r2=10.; i1=31;
qqfont1_(&r1,&r2,&r3,"   von 1955 bis zum 20.02.1999",&i1);
i=1 ;                                        // Schleife über alle Lottozahlen
do
{
   polygon[5]=h[i-1]-150.;
   polygon[7]=polygon[5];
   x=i*30.; y=i/25;
   r1=x+20.-y*30.*24.; r2=y*280.+120.;
   qqpoorig_(&r1,&r2);                       // Nullpunktverschiebung
   i1=h[i-1]-260;
   qqfillc_(&i1);                            // Füllfarbe Polygon
   i1=5;
   qqpoly_(&i1,polygon);                     // Zeichne Polygon
   r1=float((i+90)/100)*5.-5.; r2=-20.; r3=12.; i1=i; i2=2;
   qqifont1_(&r1,&r2,&r3,&i1,&i2);           // Lottozahl
   i++;
} while (i<=49);
r1=0.2;                                      // Strichstärke
qqthickn_(&r1);
i=150;
do{
   r1=30.; r2=120.-150.+i;
   qqpoorig_(&r1,&r2);                       // Nullpunktverschiebung
   r1=-10.; r2=0.; r3=740.; r4=0;
   qqpoint_(&r1,&r2); qqline_(&r3,&r4);      // Zeichne waagerechte Linie
   r1=-20.; r2=2.; r3=12.; i1=i; i2=3;
   qqifont1_(&r1,&r2,&r3,&i1,&i2);           // Linie für wie oft gezogen
   r1=-10.; r2=280.; r3=770.; r4=280;
   qqpoint_(&r1,&r2); qqline_(&r3,&r4);      // Zeichne waagerechte Linie
   r1=-20.; r2=2.+280.; r3=12.; i1=i; i2=3;
   qqifont1_(&r1,&r2,&r3,&i1,&i2);           // Linie für wie oft gezogen
   i=i+50;
} while (i<=350);
qqclose_();
g95_runtime_stop();
return 0;
}