SUB CROSSPLOT(NP AS INTEGER, XARRAY(1) AS DOUBLE, YARRAY(1) AS DOUBLE) DIM LEFT, RIGHT, TOP, BOTTOM AS INTEGER DIM NX, NY AS INTEGER DIM W, H AS INTEGER DIM XDELTA, YDELTA AS DOUBLE DIM XPOS, YPOS AS DOUBLE DIM I AS INTEGER DIM S AS STRING DIM BORDER AS INTEGER BORDER = 40 TOP = BORDER BOTTOM = SCREENHEIGHT() - BORDER * 2 LEFT = BORDER RIGHT = SCREENWIDTH() - BORDER * 2 SETCOLOR 0,0,0 CLS SETCOLOR 255,255,0 NX = 10 NY = 10 XDELTA = DOUBLE(RIGHT - LEFT) / DOUBLE(NX) YDElTA = DOUBLE(BOTTOM - TOP) / DOUBLE(NY) FOR I=0 TO NX XPOS = DOUBLE(LEFT) + DOUBLE(I) * XDELTA DRAWLINE XPOS, TOP, XPOS, BOTTOM END FOR FOR I=0 TO NY YPOS = DOUBLE(TOP) + DOUBLE(I) * YDELTA DRAWLINE LEFT, YPOS, RIGHT, YPOS END FOR S = "0.0" W = STRINGWIDTH(S)+1 H = STRINGHEIGHT(S)+1 DRAWSTRING S,LEFT-W,BOTTOM DRAWSTRING S,LEFT,BOTTOM+H S = "1.0" W = STRINGWIDTH(S)+1 H = STRINGHEIGHT(S)+1 DRAWSTRING S,LEFT-W,TOP+H DRAWSTRING S,RIGHT-W,BOTTOM+H S = "Y-Axis" W = STRINGWIDTH(S)+1 H = STRINGHEIGHT(S)+1 DRAWSTRING S,LEFT-W,TOP+(BOTTOM-TOP-H)/2 S = "X-Axis" W = STRINGWIDTH(S)+1 H = STRINGHEIGHT(S)+1 DRAWSTRING S,LEFT+(RIGHT-LEFT-W)/2,BOTTOM+H SETCOLOR 255,255,255 FOR I=1 TO NP XPOS = DOUBLE(LEFT) + XARRAY(I) * DOUBLE(RIGHT - LEFT) YPOS = DOUBLE(TOP) + YARRAY(I) * DOUBLE(BOTTOM - TOP) PLOT XPOS, YPOS END FOR END SUB SUB MAIN DIM XARRAY(500), YARRAY(500) AS DOUBLE DIM NP AS INTEGER DIM I AS INTEGER NP = 500 FOR I=1 TO NP XARRAY(I) = RND(0.0) YARRAY(I) = RND(0.0) END FOR GRAPHICS CALL CROSSPLOT(NP, XARRAY, YARRAY) REPAINT SLEEP 5000 END SUB