TAMS

Home | Products | Support | How to Order | Contact Us | Search  

   

Showplot routine

10      !"SHOWPLOT"
20      !
30      ! Loosely based on demo program SinGridAxes
40      !
50      ! Demo data from Dave K, who ran
60      ! I/O  with Redhat 7.3, TAMS SICL, and
70      ! a compiled c program with printf's to
80      ! a fast instrument.
90      !
100     INTEGER Colors,Plotting
110     Colors=1
120     ! To plot to file "testplotfile", set plotting to 1
130     Plotting=1
140     GOSUB Graphinit
150     GOSUB Toplabel
160     GOSUB Y_label
170     GOSUB X_label
180     GOSUB Data_area
190     GOSUB Label_ticks
200     GOSUB Fillarrays
210     GOSUB Plot2050
220     GOSUB Plot3010
230     IF Plotting THEN GOSUB Finishplot
240     STOP
250     !
260     ! All Subroutines Below
270     !
280     !
290 Graphinit:             !Lay out main screen
300     KEY LABELS OFF
310     GINIT
320     IF Plotting THEN 
330     EXECUTE ("touch testplotfile")  ! creates file if none exists
340     PLOTTER IS "testplotfile","HPGL"
350     ELSE
360     PLOTTER IS CRT,"INTERNAL"
370     END IF
380     GRAPHICS ON
390     DEG                              ! Degrees not Radians for LDIR
400     PEN 1
410     X_gdu_max=100*MAX(1,RATIO)       ! Width
420     Y_gdu_max=100*MAX(1,1/RATIO)     ! Height
430     RETURN 
440     !
450     !
460 Toplabel:             ! Label at top of graph
470     LORG 6
480     MOVE X_gdu_max/2,Y_gdu_max-1
490     LABEL "DEMO 1: HPIB Average Throughput"
500     RETURN 
510     !
520     !
530 Y_label:               !Label Y axis
540     LDIR 90
550     CSIZE 4.5
560     MOVE 3,Y_gdu_max/2
570     LABEL "kbytes / second"
580     RETURN 
590     !
600 X_label:            ! Label X axis
610     LORG 4
620     LDIR 0
630     MOVE X_gdu_max/2,.02*Y_gdu_max
640     LABEL "log10 of I/O size(bytes)"
650     RETURN 
660     !
670     !
680 Data_area:             ! Create viewport and scale for data
690     !  and draw axes
700     VIEWPORT .1*X_gdu_max,.9*X_gdu_max,.15*Y_gdu_max,.9*Y_gdu_max
710     WINDOW -.1,6,-.7,50   ! Scale for our data
720     GRID 1,5,0,0
730     RETURN 
740     !
750     !
760 Label_ticks:            ! Now label tick marks
770     !
780     ! x axis
790     CLIP OFF
800     CSIZE 4
810     LORG 6
820     FOR I=0 TO 6 STEP 1
830     MOVE I,-1
840     LABEL USING "#,K";I
850     NEXT I
860     !
870     ! y axis
880     CLIP OFF
890     LORG 8
900     FOR I=0 TO 50 STEP 5
910     MOVE -.1,I
920     LABEL USING "#,DD";I
930     NEXT I
940     PENUP
950     RETURN 
960     !
970 Fillarrays:            ! dimension and read data
980     DIM D2050(0:12),D3010(0:12)
990     DATA 0.102,0.305,1.009,3.158,9.514,10.018,11.750,11.882,11.903,12.002,12.019,12.024,12.025
1000    DATA 0.498,1.491, 4.956,14.713,37.995,39.995,44.577,45.474,45.747,46.174,46.130,45.933,46.149
1010    READ D2050(*)
1020    READ D3010(*)
1030    RETURN 
1040    !
1050 Plot2050:         ! Plot 2050 data
1060    IF Colors THEN PEN 2
1070    MOVE 0,0
1080    FOR I=0 TO 12
1090    PLOT I/2,D2050(I)
1100    NEXT I
1110    MOVE 3.95,D2050(8)+3
1120    LORG 9
1130    LDIR 0
1140    LABEL "Agilent 2050"
1150    LORG 5  ! (add symbols)
1160    FOR I=0 TO 12
1170    MOVE I/2,D2050(I)
1180    LABEL "x"
1190    NEXT I
1200    PENUP
1210    RETURN 
1220    !
1230 Plot3010:         ! Plot 3010 data
1240    IF Colors THEN PEN 3
1250    MOVE 0,0
1260    FOR I=0 TO 12
1270    PLOT I/2,D3010(I)
1280    NEXT I
1290    MOVE 3.95,D3010(8)+4
1300    LORG 9
1310    LABEL "TAMS 3010"
1320    LORG 5  !(add symbols)
1330    FOR I=0 TO 12
1340    MOVE I/2,D3010(I)
1350    LABEL "o"
1360    NEXT I
1370    PENUP
1380    RETURN 
1390    !
1400 Finishplot:         !
1410    !We have been writing to a file called "testplotfile"
1420    ! We want to close it, convert it, and print it.
1430    PLOTTER IS CRT,"INTERNAL"  ! stop plotting to file
1440    EXECUTE ("hp2xx -q -r90 -p3 -m eps testplotfile") !convert hpgl to eps
1450    !EXECUTE ("lpr testplotfile.eps")
1460    EXECUTE ("display testplotfile.eps")
1470    DISP "all done"
1480    RETURN 
1490    !
1500    !
1510    END
   

 Home | Products | Distributors | Support | Company Info | How to Order | Contact Us | Search

 
All referenced prices are United States Dollars.
Copyright © 1997-2005 Test & Measurement Systems Inc.
Other products and companies referred to herein are trademarks or registered trademarks of their respective companies or mark holders.  Specifications are subject to change without notice.

Test & Measurement Systems Inc.
750 14th Street SW
Loveland, CO 80537

Tel:  + 970-669-6553
Fax: + 970-669-3090
info@tamsinc.com