C C======================================================================= C C MPPLTD.PGM C C======================================================================= C COMMON /SYMLIB/ NUMEXT,NWEXTL,NBYTE,LIBNUM,LIBEXT BYTE STRNG(8),BLANK INTEGER*2 IPLTSM(3),IPLTS1(3) DATA IPLTSM/2,2,0/,IPLTS1/4,4,0/,IWIDTH/8/ DATA BLANK/' '/ C IF (KPLTY.NE.3) CALL VECTOR (FLOAT(NIBH),FLOAT(LPATH),5) IF (KPLTY.EQ.3) CALL VECTOR (FLOAT(NIBPT4(5)),-1.0,5) IF (KPLTY.EQ.4) CALL VECTOR (XMIN,YBASE,1) DXBG = DXHIS/XSCALE NIBTMP = NIBS LINTMP = LINPAT C DO 598 I=1,NXYDAT X = XDATA(I) Y = YDATA(I) XIN = X/XSCALE + XOFFC YIN = Y/YSCALE + YOFFC IF (LHIST) GO TO 560 IF (SECPNT) GO TO 500 SECPNT = .TRUE. CALL VECTOR (X,Y,1) 500 CONTINUE C C SECONDARY SYMBOL PLOT C IPNT = IPNT + 1 IF (IPNT.LE.ISYDEL) GO TO 540 IPNT = 0 IF (KPLTY.EQ.2) CALL VECTOR (X,Y,2) CALL VECTOR (FLOAT(NIBPT4(6)),-1.0,5) LIBNUM = 0 CALL SYMPLT (XIN,YIN,SSYMB,LSSYM,0.0,CPARAM(1,6),NIBPT4(6), 1 IPLTSM,IERR) CALL VECTOR (FLOAT(NIBTMP),FLOAT(LINTMP),5) IF (KPLTY.NE.2) GO TO 597 CALL VECTOR (X,Y,1) GO TO 545 C C POINT PLOTS C 540 GO TO (541,545,550,560,550) KPLTY 541 CALL VECTOR (X,Y,1) CALL VECTOR (X,Y,2) GO TO 597 C C LINE PLOTS C 545 CALL VECTOR (X,Y,2) GO TO 597 C C PRIMARY SYMBOL PLOTS C 550 LIBNUM = 0 CALL SYMPLT (XIN,YIN,PSYMB,LPSYM,0.0,CPARAM(1,5),NIBPT4(5), 1 IPLTSM,IERR) C C ANNOTATED POINTS C IF (NAPNT) GO TO 597 ENCODE (IWIDTH,8500,STRNG) IPNT 8500 FORMAT (I8) C C REMOVE LEADING BLANKS C DO 240 K=1,IWIDTH IF (STRNG(K).NE.BLANK) GO TO 241 240 CONTINUE 241 LSTRNG = IWIDTH - K + 1 CALL VECTOR (FLOAT(NIBPT4(6)),-1.0,5) LIBNUM = 0 CALL SYMPLT(XIN,YIN,STRNG(K),LSTRNG,0.0,CPARAM(1,6),NIBPT4(6), 1IPLTS1,IERR) CALL VECTOR (FLOAT(NIBTMP),FLOAT(LINTMP),5) GO TO 597 C C BAR GRAPH C 560 CALL VECTOR (X-DXHIS,YBASE,2) CALL VECTOR (X-DXHIS,Y,2) IF (LHIST1) GO TO 580 CALL VECTOR (X+DXHIS,Y,2) CALL VECTOR (X+DXHIS,YBASE,2) IF (KBGOP .NE. 0) CALL VECTOR(X-DXHIS,YBASE,2) ! solid baseline IF (KBGSH .EQ. 0) GOTO 580 CALL MPSHAD(X-DXHIS,YBASE,X+DXHIS,Y,KBGSH,BSDIS,NIBBS1,LPATB1) 580 CALL VECTOR(X+DXHIS,YBASE,1) C C END OF POINT C 597 IF (LABORT) RETURN 598 CONTINUE C C END OF DATA ARRAY C IF (KPLTY.EQ.4) CALL VECTOR (XMAX,YBASE,2) CALL VECTOR(X,Y,1) ! pen up, please RETURN END