cpmain.f90

Path: cpmain.f90
Last Update: Fri Sep 01 20:26:03 GMT+9:00 2006

cpmain

author :小松 研吾 (KOMATSU Kengo)
version :4.0
date :2006/09/01
copyright :Copyright (c) K.K & PGK, 2006. All rights reserved.

説明

ColorPlot のテストプログラム。

Methods

cpmain  

Public Instance methods

Main Program :

[Source]

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

[Validate]