Plot cartesian data, optionally connect the points.
Source Code
5 GO TO 9000 6 LET init=64324 7 LET rot=64256 8 LET mir=64281 10 PRINT "Plotting Routine" 11 PRINT 20 INPUT "Xmax ";xmax,"Xmin ";xmin 21 PRINT "Xmin=";xmin,"Xmax=";xmax 30 INPUT "Ymax ";ymax,"Ymin ";ymin 31 PRINT "Ymin=";ymin,"Ymax=";ymax 40 INPUT "number of data points ",n 41 PRINT "number of data points=";n 42 DIM x(n): DIM y(n) 50 FOR d=1 TO n 55 PRINT AT 21,0;"data point number ";d 60 INPUT "x=";x(d),"y=";y(d) 70 NEXT d 110 INPUT "input X label ";x$ 115 PRINT AT 6,0;"X label: ";x$ 116 LET xl=LEN x$ 117 IF xl>25 THEN GO TO 110 120 INPUT "input Y label ";y$ 125 PRINT "Y label: ";y$ 126 LET yl=LEN y$ 127 IF yl>18 THEN GO TO 120 130 INPUT "connect data points?";c$ 131 IF c$="y" THEN PRINT "data points will be connected" 200 CLS 210 GO SUB 1000 220 IF c$<>"y" THEN GO SUB 2000 230 IF c$="y" THEN GO SUB 3000 250 GO SUB 5000 300 STOP 1000 PLOT 33,25 1010 DRAW 200,0 1020 DRAW 0,150 1030 DRAW -200,0 1040 DRAW 0,-150 1050 FOR i=1 TO 9 1060 PLOT 33+20*i,25 1070 DRAW 0,2 1080 PLOT 33+20*i,175 1090 DRAW 0,-2 1100 PLOT 33,25+15*i 1110 DRAW 2,0 1120 PLOT 233,25+15*i 1130 DRAW -2,0 1140 NEXT i 1150 RETURN 2000 FOR d=1 TO n 2010 PLOT 33+(x(d)-xmin)/(xmax-xmin)*200,25+(y(d)-ymin)/(ymax-ymin)*150 2020 NEXT d 2030 RETURN 3000 PLOT 33+(x(1)-xmin)/(xmax-xmin)*200,25+(y(1)-ymin)/(ymax-ymin)*150 3010 FOR d=2 TO n 3020 DRAW (x(d)-x(d-1))/(xmax-xmin)*200,(y(d)-y(d-1))/(ymax-ymin)*150 3030 NEXT d 3040 RETURN 5000 LET xl=LEN x$ 5010 LET xp=16-xl/2 5030 PRINT AT 21,xp;x$ 5040 PRINT AT 19,4;INT xmin;AT 19,16;INT ((xmax-xmin)/2);AT 19,29;INT xmax 5050 LET yl=LEN y$ 5060 LET yp=9+yl/2 5070 RANDOMIZE USR init 5080 POKE 23606,0: POKE 23607,251 5090 RANDOMIZE USR rot 5100 FOR p=1 TO yl 5110 PRINT AT yp-p,0;y$(p) 5120 NEXT p 5130 RANDOMIZE USR init 5131 LET p$=STR$ INT ymin 5132 LET lw=LEN p$ 5133 LET p$=STR$ INT ((ymax-ymin)/2) 5134 LET md=LEN p$ 5135 LET p$=STR$ INT ymax 5136 LET up=LEN p$ 5140 PRINT AT 18,4-lw;INT ymin;AT 9,4-md;INT ((ymax-ymin)/2);AT 0,4-up;INT ymax 5150 RETURN 9000 CLEAR 64255 9010 DATA 033,000,252,001,000,252,197,221 9011 DATA 033,080,251,006,001,022,008,229 9012 DATA 014,000,126,160,040,002,203,193 9013 DATA 203,001,121,035,021,032,243,221 9014 DATA 119,000,221,035,225,203,000,048 9015 DATA 228,035,035,035,035,035,035,035 9016 DATA 035,209,229,033,080,251,001,008 9017 DATA 000,237,176,225,213,124,254,255 9018 DATA 032,197,193,201,033,000,061,017 9019 DATA 000,252,001,000,003,237,176,201 9020 FOR a=64256 TO 64335 9030 READ d: POKE a,d: NEXT a: GO TO 6 9040 REM "plot" by Owen Christianson 822 Richmond Ave. Buffalo NY 14222