等値線図では, 等値線を引く値, ラインタイプやラインインデックス, 線につけられるラベルなどは自動的に設定されます. しかしこれらの設定は自由に変更することができます.
等値線を引く値は, DclSetContourLevelで設定します. 最初の2つの引数が値の最小値と 最大値で, 最後の引数は刻み幅を指定します. これが負の時にはその絶対値程度の本数の等値線を生成します. 最大値と最小値を与える代わりにデータの配列自体を与えれば, それから最大値と最小値をとりだして等値線を生成してくれます.
これらのルーチンでは等間隔のコンターレベルしか生成されません. もしも不等間隔の等値線を指定したい場合や, 特定の値のコンターを追加 したい場合は, DclSetContourLineルーチンで1本1本のコンターを指定します. この場合線の属性やラベルの属性を指定することができます. 逆に, ある1本のコンターを無効に するにはDclDelContourLevelルーチンを呼びます. 下の例では, 0.6の等高線を無効にしています. また, すべての等値線を無効にするにはDclClearContourLevelルーチンを呼びます.
デフォルトではラベル付きの太線が1本おきに引かれますが, これをメジャー ラインとよびます. このメジャーラインに付いているラベルのフォー マットはDclSetContourLabelFormatで設定できます. 引数には指定す るフォーマットを文字型で与えます. DclSetContourLabelFormatは等値線の値を決定するルーチン(DclSetContourLevelなど)の 前に呼ばなければなりません.
下のプログラムを実行すると, 次のようなメッセージが出ます.
DclDrawContourでは, ある格子点での値がコンターレベルと等しい時に, 格子 点値をわずかにずらして作画し, このようなメッセージを出力します. たいて いの場合このメッセージを気にする必要はありません.*** MESSAGE (UDCNTR) *** INAPPROPRIATE DATA WILL BE MODIFIED INTERNALLY.
*** MESSAGE (-CNT.-) *** Z( 1, 1)= -1.00000000 ===> -1.00000119
program set_cont use dcl integer,parameter :: nx=37, ny=37 real,parameter :: xmin=0., xmax=360., ymin=-90., ymax=90. real,parameter :: pi=3.14159, drad=pi/180 real :: p(nx,ny) do j=1,ny do i=1,nx alon = ( xmin + (xmax-xmin)*(i-1)/(nx-1) ) * drad alat = ( ymin + (ymax-ymin)*(j-1)/(ny-1) ) * drad slat = sin(alat) p(i,j) = 3*sqrt(1-slat**2)*slat*cos(alon) - 0.5*(3*slat**2-1) end do end do call DclOpenGraphics() call DclNewFrame call DclSetWindow( xmin, xmax, ymin, ymax ) call DclSetViewport( 0.2, 0.8, 0.2, 0.8 ) call DclSetTransFunction call DclDrawScaledAxis call DclSetContourLabelFormat( '(f4.1)' ) call DclSetContourLevel( 0., 1.4, 0.2 ) call DclSetContourLine( -1., 3, 4, 'abc', 0.028 ) call DclDelContourLevel( 0.6 ) call DclDrawContour( p ) call DclCloseGraphics end program |
|
DclSetContourLevel (UDGCLA,UDGCLB) |
コンターレベル値を設定する. |
DclSetContourLine (UDSCLV) |
1本のコンターレベルを設定する. |
DclDelContourLevel (UDDCLV) |
1本のコンターレベルを削除する. |
DclClearCounourLevel (UDICLV) |
コンターレベルを無効にする. |
DclSetContourLabelFormat (UDSFMT) |
コンターラベルのフォーマットを設定する. |