DclShadeContourを用いれば, ある値の範囲にだけシェードをかけたり, 色を塗ったりすることができます. 何も設定しなければ, 値が負の領域に斜線のシェードをかけます. 次のサンプルプログラムsample03.f90 は, sample02.f90の結果に加えて, 値が負の領域をシェーディングします.
初期状態では, 出力装置によっては先に描かれた図形が消えてしまうことがあります. このためここでは軸や等高線をかく前にシェードパターンを描いています. プログラム中にcall DclSetParm('ENABLE_SOFTFILL',.true.)という文をかいておけば, 出力装置によらずにソフト側でシェードパターンをかくようになります. ま た, この例では, ビューポートを変更し て長方形にしています. 設定を変更すれば, DclShadeContourを用いて値をカラーでぬりわけることもできます.
program sample03
use dcl
integer,parameter :: nx=36, ny=36
real,parameter :: xmin=0., xmax=360., ymin=-90., ymax=90.
real,dimension(0:nx,0:ny) :: p
!-- 球面調和関数 ----
do j=0,ny
do i=0,nx
alon = ( xmin + (xmax-xmin)*i/nx ) * DCL_PI/180.
alat = ( ymin + (ymax-ymin)*j/ny ) * DCL_PI/180.
p(i,j) = sqrt(1-sin(alat)**2) * sin(alat) * cos(alon)
end do
end do
!-- グラフ ----
call DclOpenGraphics()
call DclNewFrame
call DclSetWindow( xmin, xmax, ymin, ymax )
call DclSetViewPort( 0.1, 0.9, 0.2, 0.8 )
call DclSetTransFunction
call DclShadeContour( p )
call DclDrawScaledAxis
call DclDrawContour( p )
call DclCloseGraphics
end program
|

|
DclShadeContour (UETONE ) |
2次元等値線図をパターンでぬりわける. |
|
DclShadeContourEx (UETONF) |
image 機能を使って2次元等値線図を色でぬりわける. |
* 括弧の中は、対応するf77インターフェイス名.