sample01.f90 で呼んだ DclDrawScaledGraph サブルーチンがどのようなルーチンで構成されているか, 見ておきましょう.実は,
call DclDrawScaledGraph( x, y )というサブルーチン・コールは,次の5つのサブルーチンを順に呼ぶことと同 じなのです.
call DclScalingPoint( x, y )データを自動的にスケーリングするためには,まず,描きたいデータすべての なかから最大値と最小値を見つける必要があります. サブルーチン DclScalingPoint がこれを行ないます. つぎの DclFitScalingParm では,これらのデータの 最大値・最小値を切りの良い数値に丸めて作画範囲を決め,ほかの「正規化変 換」のパラメータも「おまかせ」で決めます. そして,DclSetTransFunction ルーチンで「正規化変換」を確定します. ここで出てきた「正規化変換」については,次節で説明します. いまは,DclFitScalingParm と DclSetTransFunction の二つのサブルーチンで,これらの作業を行なっているとだけ認識しておいて下さい.
call DclFitScalingParm
call DclSetTransFunction
call DclDrawScaledAxis
call DclDrawLine( x, y )
次の DclDrawScaledAxis ルーチンは「おまかせ」で座標軸を描くルーチンです. まさに「おまかせ」ですから,引数はいりません. そして,DclDrawLine ルーチンで折れ線を描いているのです.
DclScalingPoint (USSPNT) |
グラフの中に含めたい座標点を設定する. |
DclFitScalingParm (USPFIT) |
すでに設定された情報から、適当なスケーリングで正規化変換パラメータを決める. |
DclSetTransFunction (GRSTRF) |
変換関数を確定する. |
DclDrawScaledAxis (USDAXS, USXAXS, USYAXS) |
おまかせ座標軸を描く. |
DclDrawLine (SGPLU,SGPLZU) |
ユーザー座標系で折れ線を描く. |
* 括弧の中は、対応するf77インターフェイス名.