Вы находитесь на странице: 1из 3

use dflib

dimension Q(50),T(50)
real(8) minX,minY,i
integer(2) numfonts

TYPE(xycoord) xy
TYPE(wxycoord) wxy
TYPE (windowconfig) myscreen
LOGICAL statusmode

Character*(10)tmpstr

maxX=14
maxY=250
minX=0
minY=0

myscreen.numxpixels=-1
myscreen.numypixels=-1
myscreen.numtextcols=-1
myscreen.numtextrows=-1
myscreen.numcolors=-1
myscreen.fontsize=-1
myscreen.title="Hydrograph"
statusmode=SETWINDOWCONFIG(myscreen)

IF(.NOT.statusmode) statusmode=SETWINDOWCONFIG(myscreen)
statusmode=GETWINDOWCONFIG(myscreen)

xw=myscreen.numxpixels
yh=myscreen.numypixels

CALL SETVIEWPORT(INT2(100),INT2(50),INT2(xw/2),INT2(yh/2))
result=setcolorrgb(#FFFFFF)
result = FLOODFILLRGB (101, 101, #FF)

status=SETWINDOW(.TRUE.,0.0,0.0,maxX,maxY)

result=SetColorRGB(#00FF00)

!Drawing the X axis


CALL MOVETO_W(minX,minY,wxy)
status=lineto_W(maxX,minY)

!Draw tick lines in X axis


do i=1,maxX
call moveto_w(minX+i,minY,wxy)
status=lineto_W(minX+i,maxY)
end do

!Drawing the Y axis


CALL MOVETO_W(minX,minY,wxy)
status=lineto_W(minX,maxY)

!Draw tick lines in Y axis


do i=0,maxY,50
call moveto_w(minX,minY+i,wxy)
status=lineto_W(maxX,minY+i)
end do

CALL MOVETO_W(minX,minY,wxy)
T(1)=0
T(2)=2
T(3)=4
T(4)=6
T(5)=8
T(6)=10
T(7)=12
Q(1)=0
Q(2)=100
Q(3)=200
Q(4)=150
Q(5)=100
Q(6)=50
Q(7)=0

do 10 i=1,7
status=lineto_w(T(i),Q(i))
10 continue

!Write tick labels for Y axis


call SETVIEWPORT(int2(30),int2(50),int2(100),int2(yh/2))
!result=SETCOLORRGB(#FF) !set Background color to red. Use to see where the
X-axis label viewport is
!result = FLOODFILLRGB (51, 51, #00FF)
numfonts=INITIALIZEFONTS()
result=SETCOLORRGB(#ffffff)
index=SETFONT('t''Times new roman''h15pb')

do i=50,maxY-50,50
write(tmpstr,'(f8.2)') i
call MOVETO_W(minX+5,real(i+minY+5,8),wxy)
call OUTGTEXT(tmpstr)
end do

!Write tick labels for X axis


call SETVIEWPORT(int2(100),int2(yh/2),int2(xw/2),int2(yh/2+60))
!result=SETCOLORRGB(#FF) !set Background color to red. Use to see where the
X-axis label viewport is
!result = FLOODFILLRGB (51, 51, #00FF)
numfonts=INITIALIZEFONTS()
result=SETCOLORRGB(#ffffff)
index=SETFONT('t''Times new roman''h15pb')

do i=1,maxX-1,1
write(tmpstr,'(f8.2)')i
call MOVETO_W(minX+i-0.4,real(minY+170,8),wxy)
call OUTGTEXT(tmpstr)
end do

!Write axis name for X axis


call SETVIEWPORT(int2(50),int2(yh/2+60),int2(xw/2),int2(yh/2+60))
numfonts=INITIALIZEFONTS()
result=SETCOLORRGB(#aaffaa)
index=SETFONT('t''Times new roman''h25pb')

call MOVETO_W(real(6,8),real(100,8),wxy)
call OUTGTEXT("Time (hr) ->")

!Write axis name for Y axis


call SETVIEWPORT(int2(10),int2(80),int2(30),int2(yh/2))

numfonts=INITIALIZEFONTS()
result=SETCOLORRGB(#aaffaa)
index=SETFONT('t''Times new roman''h25pb')

call MOVETO_W(real(0,8),real(40,8),wxy)
call SETGTEXTROTATION(900)
call OUTGTEXT("Discharge ->")
read (*,*) x
end

Вам также может понравиться