DCL サブルーチンリファレンス

ここでは, DCL で用いられるさまざまなサブルーチンコマンドを本家の Web ページを参考に作成しました.

図の出力

  • GROPN(IWS)
    • 図への出力装置の宣言
    • IWS = 1 - 4 まで指定可能. それぞれの番号が出力装置の種類に対応している
      • 1 : X, 2 : PS, 3 : テクトロ端末, 4 : GTK
      • 負号つきで渡すと, 画面が 90 度回転して表示される
  • GRCLS
    • 図の出力装置を閉じる宣言
    • GROPN と対で宣言する
  • GRFRM
    • 作画領域を設定する宣言
    • これ以下で作画領域の細かい設定をする

USGRPH

  • USSTTL(CXTTL,CXUNIT,CYTTL,CYUNIT)
    • 座標軸のタイトルおよび座標系の単位の設定宣言
      • CXTTL (文字型) x 座標軸のタイトル
      • CXUNIT (文字型) x 座標軸の単位
      • CYTTL (文字型) y 座標軸のタイトル
      • CYUNIT (文字型) y 座標軸の単位
  • USGRPH(N,X,Y)
    • 自動スケーリング(何も細かい設定をせずに描画する)
      • N (整数) 描画に用いるデータの個数
      • X, Y (実数) 座標の各点の値
        • もとの変数 X, Y はなんでもよいが, 配列で定義しなければならない
        • 通常, X, Y の配列の個数は, N に一致させる必要あり
    • このサブルーチンは以下のサブルーチンをその順で呼び出すもの 1 CALL USSPNT( NMAX, X, Y ) 2 CALL USPFIT 3 CALL GRSTRF 4 CALL USDAXS 5 CALL UULIN( NMAX, X, Y )
  • USSPNT(N,X,Y)
    • USGRPH と同じ
    • ただし, このサブルーチンで設定できるのは, データの個数とデータの値の設定のみ
  • USDAXS
    • 実際に座標軸を書く
  • USPFIT
    • USSPNT の設定をもとに適切に正規化変換を行う
    • 後ろに GRSTRF を宣言し, 正規化変換を確定しなければならない
  • GRSTRF
    • 正規化変換を確定する宣言.

折れ線

  • UULIN(N,X,Y)
    • 折れ線を描く
    • 各変数はそれぞれデータの個数とそれに対応する各データ値
    • 実際に線を描くときは, 先に線の太さや線種を設定してからこれを宣言する
  • UUSLNT(ITYPE)
    • 折れ線の線種の設定
      • ITYPE (整数型) 折れ線の線種. 1:実線, 2:破線, 3:点線, 4:1点鎖線 (初期値は1)
  • UUSLNI(INDEX)
    • 折れ線の太さの設定
      • INDEX (整数型) 折れ線の太さ. 1から大きくなるにつれて太くなる. (初期値は1)
  • UULINZ(N,X,Y,ITYPE,INDEX)
    • 上の線に関するすべての宣言をこれで行える
    • 変数の種類は上に同じ

分布図

  • UUMRK(N,X,Y)
    • 分布図を描く宣言
    • 各変数は描画に用いるデータの個数とデータの値
    • この宣言をする前に点の種類に関する設定を行う必要あり
  • UUSMKT(ITYPE)
    • 点の種類の設定
      • ITYPE (整数) マーカーの種類. 1: '.', 2:'+', 3:'*', 4:'。', など, フォントテーブル(付録)のDCL文字番号に 対応する文字・記号を描く. (初期値は1)
  • UUSMKI(INDEX)
    • 線の大きさ
      • INDEX (整数) マーカーを描く線の太さ. 1から順に太くなる. (初期値は1)
  • UUSMKS(RSIZE)
    • 点の大きさ
      • RSIZE (実数) マーカーの大きさ. V-座標系での値で与える. (初期値は0.01)
  • UUMRKZ(N,X,Y,ITYPE,INDEX,RSIZE)
    • 上の設定をすべて一括して行う

正規化変換

実際のデータの値と, 作画に用いられる座標系での値を対応付ける操作

  • GRSWND(UXMIN,UXMAX,UYMIN,UYMAX)
    • 描画する範囲の設定
    • 実際にここで設定した値の範囲内のグラフが描画される
      • UXMIN, UXMAX (実数型) ウインドウの x 座標の最小値と最大値.
      • UYMIN, UYMAX (実数型) ウインドウの y 座標の最小値と最大値.
  • GRSVPT(VXMIN,VXMAX,VYMIN,VYMAX)
    • ビューポートの設定
    • 実際に図に出力されるとき, 白紙の状態で [0,1]x[0,1] の領域をとる. ここでとられた座標系を V-座標系という
    • V-座標系のどこからどこまでをとるかを設定する
    • 実際にここで設定した値の領域内に GRSWND で設定した領域のグラフが描かれる
    • GRSWND と GRSVPT の違いを Tex で表現するなら, GRSVPT は includegraphics で設定される, 挿入する図のどこを使うかという設定. GRSWND は挿入するもとの図を作るときの座標領域の設定に相当する(?).
      • VXMIN, VXMAX (実数型) ビューポートの x 座標の最小値と最大値.(初期値は 0.2 と 0.8)
      • VYMIN, VYMAX (実数型) ビューポートの y 座標の最小値と最大値.(初期値は 0.2

と 0.8)

  • GRSTRN(ITR)
    • 座標目盛の設定
      • ITR (整数) 変換関数番号. 1:直角一様座標, 2:片対数(y軸)座標, 3:片対数(x軸)座標, 4:両対数座標. (初期値は1)
  • GRSTRF
    • 上で設定した様々な正規化変換が確定したことを宣言
    • これは正規化変換表現をすべて設定したのちに宣言する
  • USPFIT
    • USSPNT で設定したデータをもとにおまかせで正規化変換を行う
    • この宣言のあとにも GRSTRF の宣言は必要
  • GRFIG
    • 新しい図を表現するための初期化を宣言する
    • 必ず, 前の図を描画し終わったあとに宣言する必要がある

2 次元等高線

  • UDCNTR(Z,MX,NX,NY)
    • 2 次元等高線を描くためのデータの個数とデータの値を設定する
      • Z (実数型) MX×NYの2次元配列. 作画には NX×NYの部分を使う.
      • MX (整数型) 配列 Zの第1次元整合寸法.
      • NX (整数型) 作画に使う配列 Zの第1次元寸法.(X 方向の配列個数)
      • NY (整数型) 作画に使う配列 Zの第2次元寸法.(Y 方向の配列個数)
    • MX は通常 NX に等しいが, 描画するデータの一部のみを使用したい場合に MX にその使用したい個数を表記する
  • UETONE(Z,MX,NX,NY)
    • 等高線にトーンをつけてわかりやすく表記する
    • 各変数は UDCNTR と同じ
    • 何も設定しないままだと, 負の領域にトーンを一様に描画する

2 次元ベクトル場

  • UGVECT(U,MU,V,MV,NX,NY)
    • ベクトル場を表現する
    • U,V は 2 次元配列とする
      • 各変数は UDCNTR と同じで, U,V は実際の配列データ, MU,MV は U,V の 1 次元整合寸法, NX,NY は U,V の配列の個数

トーンの詳細設定

  • UESTLV(TLEV1,TLEV2,IPAT)
    • トーンの種類や濃度を設定する
      • TLEV1 (実数型) 塗り分けるレベルの下限値.
      • TLEV2 (実数型) 塗り分けるレベルの上限値.
      • IPAT (整数型) トーンパターン番号.
        • トーンパターン番号表 [3 桁の整数 ijk]
          • i パターンの種類. 0:ドット, 1:横線, 2:斜線(右上がり), 3:縦線, 4:斜線(左上がり), 5:格子(縦横), 6:格子(斜め).
          • j ドットの大きさや斜線の太さ. 0から5まで値が大きくなるにつれて, ドットは大きく, 線は太くなる.
          • k ドットや斜線の密度. 0から5まで値が大きくなるにつれて密度が高くなる.
    • これを DO ループで何度も呼び出し, TLEV1, 2 を変化させ, IPAT をそれに対応させるように変化させると, グラデーションを持ったトーンの表現が可能である

フレームの分割

  • SLDIV(CFORM,IX,IY)
    • フレームの分割を行う
      • CFORM (文字型) フレームを順に割り付けていく方向. 'T':縦方向, 'Y':横方向.
      • IX, IY (整数型) x 方向, y 方向の分割数.

参考資料


1 つ上に戻る

メインページに戻る