home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l292 / 1.ddi / PLOTTERD.FOR < prev    next >
Encoding:
Text File  |  1990-01-18  |  3.6 KB  |  130 lines

  1.        INCLUDE 'MISCIOFI.FOR'
  2.        INCLUDE 'STDHDR.FOR'
  3.        INCLUDE 'GRAFTYPE.FOR'
  4.  
  5.        INTEGER  k, i
  6.        REAL  rr
  7.        REAL xdata(0 : maxv), ydata(0 : maxv)
  8.        RECORD /GroupInfoRec/ fill(0 : maxgroup)
  9.        CHARACTER * 80  XStrings(0 : maxgroup)
  10.        INTEGER n
  11.        INTEGER * 2 err
  12.        REAL y1data(0 : maxv), y2data(0 : maxv)
  13.        REAL GroupData(0 : maxgroup, 0:maxv)
  14.  
  15.        CALL Open_Com ( 0,9600,0,1,8,48,err)
  16.        CALL PlotterOn
  17.       n = 20
  18.       DO i = 0, n - 1
  19.         CALL Random(rr)
  20.         xdata(i) = (4.0 * pi * (rr - 0.5)) + 5.25
  21.         ydata(i) = 25.0*(1.0/(sqrt(PI*18.0)))*
  22.      +     exp(-(xdata(i)**2/(18.0)))
  23.       END DO
  24.  
  25.       CALL InitSEGraphics (-1, 'c:\FOR\LIB\*.FON')
  26.  
  27. C  {  BAR GRAPH  }
  28.  
  29.       CALL SetCurrentWindow(7)
  30.       CALL ScalePlotArea(0.0, 0.0, 10.0, 5.0)
  31.       CALL SetAxesType(0, 0)
  32.       CALL SelectColor(2)
  33.       CALL AutoAxes(xdata, ydata, n, 1)
  34.       CALL BorderCurrentWindow(2)
  35.       CALL BarGraphData(xdata, ydata, n, 0.4, 3, 5)
  36.       CALL DrawGrid(5)
  37.       CALL TitleWindow('College Drinking Study')
  38.       CALL TitleXAxis('Beers/Day')
  39.       CALL TitleYAxis('GPA')
  40.  
  41.  
  42. C     {  Scatter Data }
  43.       CALL SetCurrentWindow(8)
  44.       CALL ClearWindow
  45.       CALL SelectColor(3)
  46.       n = 20
  47.       DO i = 0, n - 1
  48.           Call Random(rr)
  49.           xdata(i) = xdata(i) - 5.0
  50.           ydata(i) = i - xdata(i) ** 2 * rr
  51.           y1data(i) = ydata(i) - 1.0
  52.           y2data(i) = ydata(i) + 1.0
  53.       END DO
  54.       CALL AutoAxes(xdata, ydata, n, 0)
  55.       CALL BorderCurrentWindow(2)
  56.       CALL ScatterPlotData(xdata, ydata, n, 6, 2)
  57.       CALL SelectColor(5)
  58.       CALL TitleWindow('Roach Study')
  59.       CALL TitleXAxis('Radiation exposure')
  60.       CALL TitleYAxis('Pop. 10^6')
  61.  
  62.  
  63. C   { Group Demo }
  64.       DO i =  0, 4
  65.          DO k = 0, 4
  66.            xdata(i) = i + 1.0
  67.            Call Random(rr)
  68.            GroupData(k, i) = 100.0 * rr
  69.          END DO
  70.       END DO
  71.       fill(0).groupcolor = 1
  72.       fill(1).groupcolor = 2
  73.       fill(2).groupcolor = 3
  74.       fill(3).groupcolor = 4
  75.       fill(4).groupcolor = 5
  76.       DO i = 0, 4
  77.          fill(i).grouphatch = i + 1
  78.       END DO
  79.       CALL SetCurrentWindow(9)
  80.       CALL ClearWindow
  81.       CALL SetAxesType(0, 0)
  82.       CALL ScalePlotArea(0.0, 0.0, 5.5, 500.0)
  83.       CALL SetXYIntercepts(0.0, 0.0)
  84.       XStrings(0) = 'M'
  85.       XStrings(1) = 'T'
  86.       XStrings(2) = 'W'
  87.       XStrings(3) = 'Th'
  88.       XStrings(4) = 'F'
  89.  
  90.       CALL SelectColor(1)
  91.       CALL DrawXAxis(1.0, 0)
  92.       CALL LabelXAxWithStrings(1, XStrings, 5, 0)
  93.       CALL DrawYAxis(20.0, 0)
  94.       CALL LabelYAxis(5, 0)
  95.       CALL GroupPlotData(xdata, GroupData, 5, 5, 1,0.75, fill)
  96.       CALL TitleWindow('Ratologist Studies')
  97.       CALL TitleXAxis('Ratologist')
  98.       CALL TitleYAxis('# Rats/wk.')
  99.       CALL BorderCurrentWindow(2)
  100.  
  101.  
  102. C    {  Line Plot }
  103.  
  104.       DO i = 0, 50
  105.         xdata(i) = REAL(i)
  106.         ydata(i) = xdata(i) ** 2
  107.       END DO
  108.       CALL SetCurrentWindow(10)
  109.       CALL SetAxesType(0, 0)
  110.       CALL SelectColor(3)
  111.       CALL ScalePlotArea(0.0, 0.0, 20.0, 400.0)
  112.       CALL SetXYIntercepts(0.0, 0.0)
  113.       CALL SetLineStyleXX(0, 1)
  114.       CALL DrawYAxis(5.0, 0)
  115.       CALL LabelYAxis(10, 0)
  116.       CALL DrawXAxis(0.5, 0)
  117.       CALL LabelXAxis(10, 0)
  118.       CALL BorderCurrentWindow(2)
  119.       CALL LinePlotData(xdata, ydata, 50, 2, 0)
  120.       CALL TitleWindow('Hair Growth Study')
  121.       CALL TitleXAxis('Before/After Injections')
  122.       CALL TitleYAxis('Hair in/wk.')
  123.  
  124.       READ (*,*)
  125.  
  126.       CALL CloseSEGraphics
  127.       CALL Close_Com
  128.       END
  129.  
  130.