サブルーチンのリスト

上位応用ルーチン (ULA)

                                                                      
  UXAXDV(CSIDE,DX1,DX2)             目盛とラベルを描く間隔を指定して  
                                    座標軸を描く.                    
                                                                      
  UYAXDV(CSIDE,DY1,DY2)                                               
                                                                      
  UXAXNM(CSIDE,UX1,N1,UX2,N2)       目盛とラベルを描く場所を          
                                    指定して座標軸を描く.            
                                                                      
  UYAXNM(CSIDE,UY1,N1,UY2,N2)                                         
                                                                      
  UXAXLB                            目盛とラベルを描く場所を          
  (CSIDE,UX1,N1,UX2,CH,NC,N2)       指定して座標軸を描く.            
                                                                      
  UYAXLB                                                              
  (CSIDE,UY1,N1,UY2,CH,NC,N2)                                         
                                                                      
  UXMTTL(CSIDE,CTTL,PX)             大きめのタイトルを描く.          
                                                                      
  UYMTTL(CSIDE,CTTL,PY)                                               
                                                                      
  UXSTTL(CSIDE,CTTL,PX)             小さめのタイトルを描く.          
                                                                      
  UYSTTL(CSIDE,CTTL,PY)                                               
                                                                      

下位応用ルーチン (LLA)

                                                                   
  UXPAXS(CSIDE,ISLCT)              軸を示す線分を描く.            
                                                                   
  UYPAXS(CSIDE,ISLCT)                                              
                                                                   
  UXPTMK(CSIDE,ISLCT,UX,N)         目盛を描く.                    
                                                                   
  UYPTMK(CSIDE,ISLCT,UY,N)                                         
                                                                   
  UXPLBL(CSIDE,ISLCT,UX,CH,NC,N)   文字列で指定したラベルを描く.  
                                                                   
  UYPLBL(CSIDE,ISLCT,UY,CH,NC,N)                                   
                                                                   
  UXPNUM(CSIDE,ISLCT,UX,N)         数値で指定したラベルを描く.    
                                                                   
  UYPNUM(CSIDE,ISLCT,UY,N)                                         
                                                                   
  UXPTTL(CSIDE,ISLCT,CTTL,PX)      タイトルを描く.                
                                                                   
  UYPTTL(CSIDE,ISLCT,CTTL,PY)                                      
                                                                   

UZPACK

                                                                       
  UZpGET(CP,IPARA)   内部変数を参照する.                              
                                                                       
  UZpSET(CP,IPARA)   内部変数を変更する.                              
                                                                       
  UZpSTX(CP,IPARA)   内部変数を変更する                                
                     (実行時オプションによる変更を許す).             
                                                                       
  UZINIT             内部変数を初期化する.                            
                                                                       
  UZFACT(RFACT)      内部変数を何倍かする.                            
                                                                       
  UZPSAV             内部変数をスクラッチファイルに書き出す.          
                                                                       
  UZPRST             スクラッチファイルに書いた値で再設定する.        
                                                                       

サブルーチンの説明 : 上位応用ルーチン (ULA)

このサブルーチンパッケージ UXPACK/UYPACK/UZPACK において,実際にユーザーが使用するであろうルーチン群. 下位応用ルーチン (LLA)を組み合わせて書かれており, 座標軸の構成要素の属性は UZpGET/UZpSETによって 参照/変更することができる. 上位応用ルーチン(ULA)に関する以下の説明では, 内部で呼ばれている下位応用ルーチン名が しばしば引用されるので,くわしくは[here]節を参照のこと.

上位応用ルーチン(ULA)に含まれるサブルーチンとしては以下のものがある.

等間隔の目盛と数値ラベルを描くだけならUXAXDV/UYAXDVを用いればよい. 不等間隔の目盛と数値ラベルを描きたければUXAXNM/UYAXNMを 用いればよい. 数値ラベルのフォーマットはユーザーが指定することも可能なので, 数値ラベル座標軸の描画はほぼこれらのルーチンで事足りる. それでも満足できない場合は,目盛とラベルを描く位置さらには 描くラベルを指定するルーチンUXAXLB/UYAXLBを用いればよい. また,タイトルはUXMTTL/UYMTTL, UXSTTL/UYSTTLによって, 描いたラベル等のオフセット量を気にしなくても 次々と重ならないように描くことができる.

以下の説明で共通してあらわれる引数 CSIDE は, 座標軸の構成要素を描く場所を指定するパラメーターで, X軸については 'B', 'T', 'U' が指定できる; Y軸については 'L', 'R', 'U' が指定できる (くわしくは[here]節参照).

目盛はCSIDEすべての選択について描かれる. しかしラベルを描くかどうかは,場所に依存した内部変数'LABELzs'が決める. この内部変数が.TRUE.なら描く,.FALSE.なら描かない (初期値は,.TRUE., .FALSE., .TRUE., .TRUE., .FALSE., .TRUE.). つまり初期設定では,下('B')の座標軸と左('L')の 座標軸についてラベルを描くが,上('T')の座標軸と右('R')の 座標軸についてはラベルを描かない (ユーザーの座標軸はラベルを描く).

以下のルーチンのうち,UXAXLB/UYAXLB, UXAXNM/UYAXNM, UXAXDV/UYAXDVについては, 内部変数'LOFFSET'.TRUE.なら 座標系をリニアオフセットする;.FALSE.ならしない (初期値は.FALSE.). つまり,内部変数'LOFFSET'.TRUE.のとき 次のように座標系の変換がおこなわれウインドウが再設定される (この設定はルーチン内でのみ有効であって, ルーチンを抜け出すとき最初の設定に戻される; つまり座標軸を描くときのみ有効である).

UXPACKについては内部変数'XOFFSET', 'XFACT'を参照して 次の変換をおこなう. [ f(x) = XFACT x + XOFFSET ]
UYPACKについては内部変数'YOFFSET', 'YFACT'を参照して 次の変換をおこなう. [ g(y) = YFACT y + YOFFSET ]
これはたとえば, 温度に関するデータがあってデータの単位はセ氏で与えられているが, 目盛は華氏で打ちたいというときなどに有効である.

UXAXDV/UYAXDV

  1. 機能
    目盛とラベルを描く間隔を指定して座標軸を描く.
  2. 呼び出し方法
    CALL UXAXDV(CSIDE,DX1,DX2)
    CALL UYAXDV(CSIDE,DY1,DY2)
  3. パラメーターの説明
                                                                            
      CSIDE      (C*1)   座標軸を描く場所を指定する (                       
                         [here] 節参照).                                   
                                                                            
      DX1,       (R)     小さめの目盛を描く 間隔を指定する                  
      DY1                (U座標系の値で指定する).                          
                                                                            
      DX2,       (R)     大きめの目盛および ラベルを描く間隔を指定する      
      DY2                (U座標系の値で指定する). DX2およびDY2はそれぞれD  
                         X1およびDY1の 整数倍でなければならない.           
                                                                            
    
  4. 備考
    1. 目盛およびラベルは指定した間隔の整数倍の場所に描かれる.
    2. UXAXDV/UYAXDVはそれぞれ UXPAXS/UYPAXS (ISLCT=2)で軸を描いている; UXPTMK/UYPTMK (ISLCT=1)で小さめの目盛を描いている; UXPTMK/UYPTMK (ISLCT=2)で大きめの目盛を描いている; UXPNUM/UYPNUM (ISLCT=1)でラベルを描いている.
    3. このルーチンは目盛とラベルを描く場所を内部で生成して UXPTMK/UYPTMKなどを呼んでいる.この作業用配列の制約から 目盛を打つ最大数は200以下でなければならない.
    4. ラベルのフォーマットはUXSFMT/UYSMFT ([here]節参照)によって変更できる.

UXAXNM/UYAXNM

  1. 機能
    目盛とラベルを描く場所を指定して座標軸を描く.
  2. 呼び出し方法
    CALL UXAXNM(CSIDE,UX1,N1,UX2,N2)
    CALL UYAXNM(CSIDE,UY1,N1,UY2,N2)
  3. パラメーターの説明
                                                                            
      CSIDE      (C*1)   座標軸を描く場所を指定する (                       
                         [here] 節参照).                                   
                                                                            
      UX1,       (R)     小さめの目盛を描く 場所を格納した長さN1の配列      
      UY1                (U座標系の値で指定する).                          
                                                                            
      N1         (I)     配列UX1, UY1の長さ.                               
                                                                            
      UX2,       (R)     大きめの目盛および                                 
      UY2                ラベルを描く場所を格納した長さN2の配列             
                         (U座標系の値で指定する).                          
                                                                            
      N2         (I)     配列UX2, UY2の長さ.                               
                                                                            
    
  4. 備考
    1. UXAXNM/UYAXNMはそれぞれ UXPAXS/UYPAXS (ISLCT=2)で軸を描いている; UXPTMK/UYPTMK (ISLCT=1)で小さめの目盛を描いている; UXPTMK/UYPTMK (ISLCT=2)で大きめの目盛を描いている; UXPNUM/UYPNUM (ISLCT=1)でラベルを描いている.
    2. N1として0以下の値を指定するとUXPTMK/UYPTMK (ISLCT=1)を呼ばない. このときUX1, UY1にはダミーの変数を与えればよい.
    3. N2として0以下の値を指定するとUXPTMK/UYPTMK (ISLCT=2), UXPNUM/UYPNUM (ISLCT=1)を呼ばない. このときUX2, UY2には ダミーの変数を与えればよい.
    4. ラベルのフォーマットはUXSFMT/UYSMFT ([here]節参照)によって変更できる.

UXAXLB/UYAXLB

  1. 機能
    目盛とラベルを描く場所を指定して座標軸を描く. 描くラベルも指定する.
  2. 呼び出し方法
    CALL UXAXLB(CSIDE,UX1,N1,UX2,CH,NC,N2)
    CALL UYAXLB(CSIDE,UY1,N1,UY2,CH,NC,N2)
  3. パラメーターの説明
                                                                            
      CSIDE      (C*1)      座標軸を描く場所を指定する (                    
                            [here] 節参照).                                
                                                                            
      UX1,       (R)        小さめの目盛を描く 場所を格納した長さN1の配列   
      UY1                   (U座標系の値で指定する).                       
                                                                            
      N1         (I)        配列UX1, UY1の長さ.                            
                                                                            
      UX2,       (R)        大きめの目盛および                              
      UY2                   ラベルを描く場所を格納した長さN2の配列          
                            (U座標系の値で指定する).                       
                                                                            
      CH         (C*(NC))   描くラベルを格納した文字長NC                    
                            長さN2の文字型配列.                            
                                                                            
      NC         (I)        配列CHの文字長.                                
                                                                            
      N2         (I)        配列UX2, UY2, CHの長さ.                        
                                                                            
    
  4. 備考
    1. UXAXLB/UYAXLBはそれぞれ UXPAXS/UYPAXS (ISLCT=2)で軸を描いている; UXPTMK/UYPTMK (ISLCT=1)で小さめの目盛を描いている; UXPTMK/UYPTMK (ISLCT=2)で大きめの目盛を描いている; UXPLBL/UYPLBL (ISLCT=1)でラベルを描いている.
    2. N1として0以下の値を指定するとUXPTMK/UYPTMK (ISLCT=1)を呼ばない. このときUX1, UY1にはダミーの変数を与えればよい.
    3. N2として0以下の値を指定するとUXPTMK/UYPTMK (ISLCT=2), UXPLBL/UYPLBL (ISLCT=1)を呼ばない. このときUX2, UY2, CH, NCには ダミーの変数を与えればよい.

UXMTTL/UYMTTL

  1. 機能
    大きめのタイトルを描く.
  2. 呼び出し方法
    CALL UXMTTL(CSIDE,CTTL,PX)
    CALL UYMTTL(CSIDE,CTTL,PY)
  3. パラメーターの説明
                                                                            
      CSIDE    (C*1)     座標軸を描く場所を指定する (                       
                         [here] 節参照).                                   
                                                                            
      CTTL     (C*(*))   描くタイトル.                                     
                                                                            
      PX,      (R)       -1から+1の間の実数値で タイトルを描く位置を        
      PY                 指定する.-1のとき左よせ,0のときセンタリング,    
                         +1のとき右よせする.                               
                                                                            
    
  4. 備考
    1. このルーチンはUXPTTL/UYPTTL (ISLCT=2)を使って タイトルを描いている.

UXSTTL/UYSTTL

  1. 機能
    小さめのタイトルを描く.
  2. 呼び出し方法
    CALL UXSTTL(CSIDE,CTTL,PX)
    CALL UYSTTL(CSIDE,CTTL,PY)
  3. パラメーターの説明
                                                                            
      CSIDE    (C*1)     座標軸を描く場所を指定する (                       
                         [here] 節参照).                                   
                                                                            
      CTTL     (C*(*))   描くタイトル.                                     
                                                                            
      PX,      (R)       -1から+1の間の実数値で タイトルを描く位置を        
      PY                 指定する.-1のとき左よせ,0のときセンタリング,    
                         +1のとき右よせする.                               
                                                                            
    
  4. 備考
    1. このルーチンはUXPTTL/UYPTTL (ISLCT=1)を使って タイトルを描いている.

サブルーチンの説明 : UZPACK

内部変数の管理や初期化をおこなうサブルーチンパッケージ.

UZpGET/UZpSET(UZpSTX)

  1. 機能
    UXPACK/UYPACK/UZPACKで使う内部変数を参照/変更する. (UZPSTX は実行時オプションによる変更を許す.)
  2. 呼び出し方法
    CALL UZpGET(CP,IPARA)
    CALL UZpSET(CP,IPARA)
    CALL UZpSTX(CP,IPARA)
  3. パラメーターの説明
                                          
      CP      (C*8)     内部変数の名前.  
                                          
      IPARA   (I,R,L)   内部変数の値.    
                                          
    

    以下にCPとして指定できる名前のリストを記す. 'ROFFzs', 'INDEXTi'などの略記法については[here]節を 参照のこと.

                                                                            
      'UXUSER'    (R)   Y軸の作画ルーチンにおいて場所を示すパラメーターと   
                        して 'U'serを指定したときに用いられるX座標値        
                        (初期値は不定). 詳しくは                          
                        [here] 節参照. [-1ex]0ex1ex}                       
                                                                            
      'UYUSER'    (R)   X軸の作画ルーチンにおいて場所を示すパラメーターと   
                        して 'U'serを指定したときに用いられるY座標値        
                        (初期値は不定). 詳しくは                          
                        [here] 節参照. [-1ex]0ex1ex}                       
                                                                            
      'ROFFzs'    (R)   最後に描いたラベルやタイトルの軸からの距離を保持し  
                        ている 内部変数(初期値は,0, 0, 0, 0, 0, 0).       
                        [here] 節参照. [-1ex]0ex1ex}                       
                                                                            
      'ROFGzs'    (R)   座標軸を本来描く場所からどれだけ平行移動して描くか  
                        を 指定する内部変数(初期値は,0, 0, 0, 0, 0, 0).   
                        [here] 節参照. [-1ex]0ex1ex}                       
                                                                            
      'LABELzs'   (L)   ラベルを描くかどうかを指定する内部変数;             
                        .TREU.なら描く,.FALSE.なら描かない                 
                        (初期値は,.TRUE., .FALSE., .TRUE., .TRUE.,        
                        .FALSE., .TRUE.).[here] ,                           
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'IROTLzs'   (I)   ラベルの文字列の回転角を指定する内部変数;           
                        回転角は90度を単位とする整数値で指定する            
                        (初期値は,0, 0, 0, 0, 0, 0).                      
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'IROTCzs'   (I)   タイトルの文字列の回転角を指定する内部変数;         
                        回転角は90度を単位とする整数値で指定する            
                        (初期値は,0, 0, 0, +1, +1, +1).                   
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'ICENTzs'   (I)   ラベルの文字列のセンタリングオプションを指定する内  
                        部変数;                                             
                        -1のとき左よせ,0のときセンタリング,+1のとき右よ   
                        せする (初期値は,0, 0, 0, +1, +1, +1).            
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'INDEXTi'   (I)   座標軸および目盛を描く線分のラインインデクスを指定  
                        する内部変数 (初期値は,不定,1, 3).               
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'INDEXLi'   (I)   ラベルおよびタイトルの文字を描く線分の              
                        ラインインデクスを指定する内部変数                  
                        (初期値は,不定,3, 3).[here]                      
                         ,[here] 節参照. [-1ex]0ex1ex}                     
                                                                            
      'RSIZETi'   (R)   目盛の長さを指定する内部変数                        
                        (単位はV座標系;初期値は,不定,0.007, 0.014).      
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'RSIZELi'   (R)   ラベルの文字の高さを指定する内部変数                
                        (単位はV座標系;初期値は,不定,0.021, 0.028).      
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'RSIZECi'   (R)   タイトルの文字の高さを指定する内部変数              
                        (単位はV座標系;初期値は,不定,0.028, 0.035).      
                        [here] ,[here] 節参照. [-1ex]0ex1ex}               
                                                                            
      'LOFFSET'   (L)   座標系をリニアオフセットするかどうかを指定する内部  
                        変数. .TRUE.ならリニアオフセットする;              
                        .FALSE.ならしない(初期値は.FALSE.).                
                        [here] 節参照. [-1ex]0ex1ex}                       
                                                                            
      'XOFFSET'   (R)   'LOFFSET'が.TRUE.のとき,                           
                        X軸のオフセット値を指定する内部変数 (初期値は0.0)  
                        .[here] 節参照. [-1ex]0ex1ex}                      
                                                                            
      'YOFFSET'   (R)   'LOFFSET'が.TRUE.のとき,                           
                        Y軸のオフセット値を指定する内部変数 (初期値は0.0)  
                        .[here] 節参照. [-1ex]0ex1ex}                      
                                                                            
      'XFACT'     (R)   'LOFFSET'が.TRUE.のとき,                           
                        X軸のファクター値を指定する内部変数 (初期値は1.0)  
                        .[here] 節参照. [-1ex]0ex1ex}                      
                                                                            
      'YFACT'     (R)   'LOFFSET'が.TRUE.のとき,                           
                        Y軸のファクター値を指定する内部変数 (初期値は1.0)  
                        .[here] 節参照. [-1ex]0ex1ex}                      
                                                                            
      'PAD1'      (R)   1つ前に描いた座標軸の構成要素からどれだけ離して     
                        ラベルを描くかを指定する内部変数 (初期値は0.7;     
                        単位は今描こうとしているラベルの高さを1とする).    
                        [-1ex]0ex1ex}                                       
                                                                            
      'PAD2'      (R)   座標軸のオフセット量を内部的に決める時に用いる内部  
                        変数 (初期値は1.5;                                 
                        単位は内部変数'RSIZEC2'の大きさを1とする).         
                        [-1ex]0ex1ex}                                       
                                                                            
      'IFLAG'     (I)   座標軸の設定を'U'serでおこなった場合,              
                        ラベルとタイトルを軸のどちら側に描くかを指定する内  
                        部変数.                                            
                        'IFLAG'が正のときラベルはUXPLBLについては上側,     
                        UYPLBLについては右側に描かれる.                    
                        負のときはその逆である.初期値は-1.                 
                        [here] 節参照. [-1ex]0ex1ex}                       
                                                                            
      'LBTWN'     (L)   ラベルを描く場所に関するオプションを指定する内部変  
                        数. 'LBTWN'が.TRUE.なら間に描く;                   
                        .FALSE.ならその場所に描く(初期値は.FALSE.).        
                        [here] 節参照. [-1ex]0ex1ex}                       
                                                                            
      'RBTWN'     (R)   ラベルを間に描くとき                                
                        ('LBTWN'が.TRUE.のとき), さらにその位置を詳しく指  
                        定する.                                            
                        -1.0のとき左よせ,0.0のときセンタリング,+1.        
                        0のとき右よせする (初期値は0.0). [-1ex]0ex1ex}     
                                                                            
      'LBOUND'    (L)   タイトルを描こうとして,文字幅がビューポートの幅を  
                        越えてしまうようなとき,                            
                        タイトルを描くかどうかを指定する.                  
                        .TRUE.なら描かない,.FALSE.なら描く                 
                        (初期値は.FALSE.). [-1ex]0ex1ex}                   
                                                                            
      'LBMSG'     (L)   'LBOUND'が.TRUE.                                    
                        でタイトルを描くスペースがないとき,                
                        エラーメッセージを出力するかどうかを指定する.      
                        .TRUE.なら出力する,.FALSE.なら出力しない           
                        (初期値は.TRUE.). [-1ex]0ex1ex}                    
                                                                            
      'INNER'     (I)   目盛を内側に向かって打つか,                        
                        外側に向かって打つかを指定する内部変数.            
                        'INNER'が正のとき内側に向かって目盛を打つ;          
                        負のとき外側に向かって目盛を打つ(初期値は+1)       
                        . [-1ex]0ex1ex}                                     
                                                                            
      'IUNDEF'    (I)   値が不定であることを示す内部変数 (初期値は-999)    
                        . [-1ex]0ex1ex}                                     
                                                                            
    
  4. 備考
    1. 内部変数を管理するための下請けルーチンとして 以下のものがある.
                                                                          
        UZPQNP(NCP)         内部変数の総数NCPを求める.                   
                                                                          
        UZPQID(CP,IDX)      内部変数CPの位置IDXを求める.                 
                                                                          
        UZPQCP(IDX,CP)      IDXの位置にある内部変数の名前CPを参照する.   
                                                                          
        UZPQVL(IDX,IPARA)   IDXの位置にある内部変数の値IPARAを参照する.  
                                                                          
        UZPSVL(IDX,IPARA)   IDXの位置にある内部変数の値IPARAを変更する.  
                                                                          
      
    2. UZpGETは上に述べたUZPQIDを呼んで 内部変数の位置を求め,UZPQVLによって値を参照する; UZpSETUZPQIDを呼んで内部変数の位置を求め, UZPSVLによって値を設定する. したがって指定した内部変数名が見つからないとき, エラーメッセージはUZPQIDが出力する.
    3. 内部変数の型に応じ,IPARAとして適切な型の 定数あるいは変数を指定すること.

UZINIT

  1. 機能
    内部変数 'ROFFzs', 'ROFGzs'をすべて0にセットする.
  2. 呼び出し方法
    CALL UZINIT
  3. パラメーターの説明
    なし.
  4. 備考
    1. 普通UZINITGRFRM中に記述されているので, GRPACK(第[here]章参照)を用いていれば ユーザーはUZINITを陽に呼ぶ必要はない.

UZFACT

  1. 機能
    内部変数 'RSIZETi' 'RSIZELi' 'RSIZECi' (i=1,2) をすべて何倍かする.
  2. 呼び出し方法
    CALL UZFACT(RFACT)
  3. パラメーターの説明
                                                  
      RFACT   (R)   何倍するかを指定する実数値.  
                                                  
    
  4. 備考
    1. なし.

UZPSAV

  1. 機能
    現在設定されている内部変数の値すべてをスクラッチファイルに書き出す.
  2. 呼び出し方法
    CALL UZPSAV
  3. パラメーターの説明
    なし.
  4. 備考
    1. スクラッチファイルは MISC1/MISCLIB の IUFOPN が 返す装置番号に対してオープンされる.

UZPRST

  1. 機能
    スクラッチファイルに書き出してあった値ですべての内部変数を再設定する.
  2. 呼び出し方法
    CALL UZPRST
  3. パラメーターの説明
    なし.
  4. 備考
    1. なし.

サブルーチンの説明 : 下位応用ルーチン (LLA)

このサブルーチンパッケージ UXPACK/UYPACK/UZPACK において,具体的な作画をおこなうルーチン群. 基本ルーチン(Basic Routines)を使って書かれており 普通ユーザーが直接呼ぶことはなく, 上位応用ルーチン(ULA)を作成するのに用いられる.

以下の説明で共通してあらわれる引数 CSIDE は 座標軸の構成要素を描く場所を指定するパラメーターで, X軸については 'B', 'T', 'U' が指定できる; Y軸については 'L', 'R', 'U' が指定できる (くわしくは[here]節参照). また,引数 ISLCT は 座標軸の構成要素の属性を指定するパラメーターで, 0, 1, 2のうち1つが指定できる (くわしくは[here]節参照).

UXPAXS/UYPAXS

  1. 機能
    軸を示す線分を描く.
  2. 呼び出し方法
    CALL UXPAXS(CSIDE,ISLCT)
    CALL UYPAXS(CSIDE,ISLCT)
  3. パラメーターの説明
                                                                          
      CSIDE   (C*1)   線分を描く座標軸の場所を指定する (                  
                      [here] 節参照).                                    
                                                                          
      ISLCT   (I)     描く軸の属性を指定する ([here]                      
                      節参照).                                           
                                                                          
    
  4. 備考
    1. 軸を示す線分のラインインデクスは内部変数'INDEXTi'が決める.
    2. 構成要素を描く場所に依存する内部変数として'ROFFzs'がある. これは,最後に描いたラベルやタイトルの軸からの距離を保持している 内部変数である. この内部変数を初期化しなければ,ラベルやタイトルは次々と ウインドウの外側に向かって重ならないよう描かれる.
    3. 座標軸は,本来描くべき場所から平行移動した場所に描くことができる ([here]節参照). この移動量は,描く場所に依存する内部変数'ROFGzs'が管理する (初期値はすべて0). この値はX/Y軸それぞれについて,サブルーチン
      UXSAXZ(CSIDE,ROFFX) / UYSAXZ(CSIDE,ROFFY)
      によって設定できる.またオフセット量を内部的に決定するルーチン
      UXSAXS(CSIDE) / UYSAXS(CSIDE)
      によっても設定できる. オフセット量は内部変数'PAD2'にもとづいて計算される.
    4. 内部変数'ROFFzs''ROFGzs'が等しいときに限って軸を示す線分を描く. これらの内部変数はサブルーチンUZINITによって0にセットされる. 普通UZINITGRFRM中に記述されているので, GRPACK(第[here]章参照)を用いていれば ユーザーはUZINITを陽に呼ぶ必要はない.

UXPTMK/UYPTMK

  1. 機能
    目盛を描く.
  2. 呼び出し方法
    CALL UXPTMK(CSIDE,ISLCT,UX,N)
    CALL UYPTMK(CSIDE,ISLCT,UY,N)
  3. パラメーターの説明
                                                                            
      CSIDE    (C*1)   目盛を描く座標軸の場所を指定する (                   
                       [here] 節参照).                                     
                                                                            
      ISLCT    (I)     描く目盛の属性を指定する (                           
                       [here] 節参照).                                     
                                                                            
      UX,      (R)     目盛を描く場所を格納した長さNの 配列.               
      UY               (U座標系の値で指定する.)                           
                                                                            
      N        (I)     配列UX, UYの長さ.                                   
                                                                            
    
  4. 備考
    1. 目盛の長さは内部変数'RSIZETi'が決める.
    2. 目盛を描く線のラインインデクスは内部変数'INDEXTi'が決める.
    3. 目盛を内側に向かって打つか,外側に向かって打つかは 内部変数'INNER'が決める. 'INNER'が正のとき内側に向かって目盛を打つ; 負のとき外側に向かって目盛を打つ (初期値は+1).

UXPLBL/UYPLBL

  1. 機能
    文字列で指定したラベルを描く.
  2. 呼び出し方法
    CALL UXPLBL(CSIDE,ISLCT,UX,CH,NC,N)
    CALL UYPLBL(CSIDE,ISLCT,UY,CH,NC,N)
  3. パラメーターの説明
                                                                            
      CSIDE    (C*1)      ラベルを描く座標軸の場所を指定する (              
                          [here] 節参照).                                  
                                                                            
      ISLCT    (I)        描くラベルの属性を指定する (                      
                          [here] 節参照).                                  
                                                                            
      UX,      (R)        ラベルを描く場所を格納した 長さNの配列.          
      UY                  (U座標系の値で指定する.)                        
                                                                            
      CH       (C*(NC))   描くラベルを格納した文字長NC                      
                          長さNの文字型配列.                               
                                                                            
      NC       (I)        配列CHの文字長.                                  
                                                                            
      N        (I)        配列UX, UY, CHの長さ.                            
                                                                            
    
  4. 備考
    1. このパッケージでは次の2通りのラベルの描きかたがある. UXPLBL/UYPLBLそれぞれについて
      • UX(i)/UY(i)の 場所にCH(i)の ラベルを描く.
      • UX(i)/UY(i)UX(i+1)/UY(i+1)の 間にCH(i)のラベルを描く.
      2つの方法のどちらを選ぶかは内部変数'LBTWN'が決める. 'LBTWN'.TRUE.なら間に描く; .FALSE.ならその場所に描く(初期値は.FALSE.). ただし,ラベルを間に描くように指定していても,ラベルが2点の間隔より 大きいときラベルは描かれない. またメッセージも出力されない.
    2. ラベルの文字の高さは内部変数'RSIZELi'が決める.
    3. ラベルの文字列の回転角は内部変数'IROTLzs'が決める.
    4. ラベルの文字列のセンタリングオプションは内部変数'ICENTzs'が決める.
    5. ラベルの文字を描く線分のラインインデクスは内部変数'INDEXLi'が決める.
    6. 文字列CH(i)の文字長はLENC (「MATH1」マニュアルのCHRLIB参照)が決める. つまり後続のブランクは無視される.
    7. CSIDEとして'U'以外を指定した場合, ラベルは常にウインドウの外側に描かれる. CSIDEとして'U'を指定した場合,ラベルの描かれる位置は 内部変数'IFLAG'が決める. 'IFLAG'が正のときラベルはUXPLBLについては上側, UYPLBLについては右側に描かれる. 負のときはその逆である.初期値は-1.
    8. 1つ前に描いた座標軸の構成要素からどれだけ離してラベルを描くかは 内部変数'PAD1'が決める.初期値は0.7. 単位は今描こうとしているラベルの高さを1とする.

UXPNUM/UYPNUM

  1. 機能
    数値で指定したラベルを描く.
  2. 呼び出し方法
    CALL UXPNUM(CSIDE,ISLCT,UX,N)
    CALL UYPNUM(CSIDE,ISLCT,UY,N)
  3. パラメーターの説明
                                                                            
      CSIDE    (C*1)   ラベルを描く座標軸の場所を指定する (                 
                       [here] 節参照).                                     
                                                                            
      ISLCT    (I)     描くラベルの属性を指定する (                         
                       [here] 節参照).                                     
                                                                            
      UX,      (R)     ラベルを描く場所を格納した 長さNの配列.             
      UY               (U座標系の値で指定する.)                           
                                                                            
      N        (I)     配列UX, UYの長さ.                                   
                                                                            
    
  4. 備考
    1. このルーチンは,サブルーチンCHVAL (「MISC1」マニュアルのFMTLIB参照)を 使ってUX, UYの値を文字化したあとで UXPLBL/UYPLBLを呼んでいる. (ラベルの属性については,UXPLBL/UYPLBLを参照のこと.) UXPLBL/UYPLBLに渡す文字型配列を内部で用意しているため UX, UYの長さNは40以下でなければならない.
    2. サブルーチンCHVALに渡すフォーマットは, UXPNUMについてはサブルーチン
      UXSFMT(CFMT) / UXQFMT(CFMT)
      で設定/参照することができる. UYPNUMについてはサブルーチン
      UYSFMT(CFMT) / UYQFMT(CFMT)
      で設定/参照することができる. CFMTは長さ16以下の文字型変数.たとえばCFMTとして '(F6.1)'のように指定する. 初期値はCHVALに固有のオプションである'B' (有効数字3ケタで文字化し,小数点以下に続く後方の0は取り除く; さらに小数点が最下位ならそれも取り除く). CHVALは自動的に文字を左詰めする. つまり実数値1.2を文字化するために'(F4.1)'としても '(F8.1)'としてもCHVALが返す値はどちらも'1.2'である.

UXPTTL/UYPTTL

  1. 機能
    タイトルを描く.
  2. 呼び出し方法
    CALL UXPTTL(CSIDE,ISLCT,CTTL,PX)
    CALL UYPTTL(CSIDE,ISLCT,CTTL,PY)
  3. パラメーターの説明
                                                                            
      CSIDE    (C*1)     タイトルを描く座標軸の場所を指定する (             
                         [here] 節参照).                                   
                                                                            
      ISLCT    (I)       描くタイトルの属性を指定する (                     
                         [here] 節参照).                                   
                                                                            
      CTTL     (C*(*))   描くタイトル.                                     
                                                                            
      PX,      (R)       -1から+1の間の実数値でタイトルを                   
      PY                 描く位置を指定する.                               
                         -1のとき左よせ,0のときセンタリング,+1のとき右よ  
                         せする.                                           
                                                                            
    
  4. 備考
    1. タイトルの文字の大きさは内部変数'RSIZECi'が決める.
    2. タイトルの文字列の回転角は内部変数'IROTCzs'が決める.
    3. タイトルの文字を描く線分のラインインデクスは 内部変数'INDEXLi'が決める.
    4. 内部変数'LBOUND'.TRUE.で タイトルがウインドウの幅をこえるとタイトルを描かない; .FALSE.ならウインドウの幅をこえても描く (初期値は.FALSE.). また,内部変数'LBOUND'.TRUE.で タイトルがウインドウの幅をこえて描けないとき 内部変数'LBMSG'.TRUE.なら その旨メッセージを出力する;.FALSE.なら出力しない (初期値は.TRUE.).

その他のサブルーチン・関数のリスト

このパッケージにはこのほかに以下の下位ルーチン・関数がある. ここではそれらの名前をあげるにとどめる.

                                                       
  LUXCHK   UXPLBA   UXPLBB   UXPTMZ   UXSOFF   UXROFF  
                                                       
  LUYCHK   UYPLBA   UYPLBB   UYPTMZ   UYSOFF   UYROFF  
                                                       


Back to Main


Latex Source


地球流体電脳倶楽部 : 95/6/9 (Version 5.0)

NUMAGUTI Atusi <a1n@gfdl.gov>
Last Modified: Thu Aug 31 13:10:03 EDT 1995