program cpmain
implicit none
integer, parameter :: im = 31
integer, parameter :: jm = 91
integer :: logscale_x,logscale_y,logscale_v
integer :: threshold
real(4) :: threshold_low,threshold_up
integer :: i,j
integer :: istat
real(4) :: xmin, xmax, ymin, ymax, xvmin, xvmax, yvmin, yvmax
real(4) :: xvwidth, yvwidth
real(4) :: value(1:im,1:jm)
character(len=30) :: title_t, title_x, title_y, title_v
integer, external :: PGOPEN
external ColorPlot
xmin = 20.0 ! x 軸の最小値
xmax = 70.0 ! x 軸の最大値
ymin = 1.0 ! y 軸の最小値
ymax = 10.0 ! y 軸の最大値
xvmin = 30.0 ! 塗り潰し開始 x 位置
xvmax = 60.0 ! 塗り潰し終了 y 位置
xvwidth = 1.0 ! x 幅 ( i,i+1 間の x 幅 )
yvmin = 1.0 ! 塗り潰し開始 y 位置
yvmax = 10.0 ! 塗り潰し終了 y 位置
yvwidth = 0.1 ! y 幅 ( j,j+1 間の y 幅 )
! ---- グラフィックデバイスを開く ----
!
! PGOPEN の詳細は PGPLOT サブルーチン・リファレンスの PGOPEN の項を
! 参照してください。
!
istat = PGOPEN('? ')
if (istat .le. 0 ) stop "An error has occured in PGOPEN! ... Stop."
call PGSUBP(1,3) ! 表示面を複数のパネルに分割する
! ---- プロット 1 ----
logscale_v = 0
logscale_x = 0
logscale_y = 0
threshold = 0
threshold_low = 0 ! dummy
threshold_up = 0 ! dummy
do j=1,jm
do i=1,im
value(i,j) = real(i*j)
end do
end do
title_t="Fig title 01"
title_x="x coordinate 01"
title_y="y coordinate 01"
title_v="value 01"
call ColorPlot(xmin,xmax,ymin,ymax,xvmin,xvmax,yvmin,yvmax, xvwidth,yvwidth,value(:,:),im,jm, logscale_x,logscale_y,logscale_v, threshold,threshold_low,threshold_up, title_t,title_x,title_y,title_v)
! ---- プロット 2 ----
logscale_v = 1
logscale_x = 0
logscale_y = 0
threshold = 1
threshold_low = 10.0
threshold_up = 100.0
do j=1,jm
do i=1,im
value(i,j) = real(i+j)
end do
end do
title_t="Fig title 02"
title_x="x coordinate 02"
title_y="y coordinate 02"
title_v="value 02"
call ColorPlot(xmin,xmax,ymin,ymax,xvmin,xvmax,yvmin,yvmax, xvwidth,yvwidth,value(:,:),im,jm, logscale_x,logscale_y,logscale_v, threshold,threshold_low,threshold_up, title_t,title_x,title_y,title_v)
! ---- プロット 3 ----
logscale_v = 0
logscale_x = 0
logscale_y = 1
threshold = 0
threshold_low = 0.0 ! dummy
threshold_up = 0.0 ! dummy
ymin = 1.0e-1
ymax = 1.0e10
yvmin = 1.0e0
yvmax = 1.0e9
yvwidth = 10**(0.1)
do j=1,jm
do i=1,im
value(i,j) = real(i*j)
end do
end do
title_t="Fig title 03"
title_x="x coordinate 03"
title_y="y coordinate 03"
title_v="value 03"
call ColorPlot(xmin,xmax,ymin,ymax,xvmin,xvmax,yvmin,yvmax, xvwidth,yvwidth,value(:,:),im,jm, logscale_x,logscale_y,logscale_v, threshold,threshold_low,threshold_up, title_t,title_x,title_y,title_v)
! ---- グラフィックデバイスを閉じる ----
call PGCLOS
end program cpmain