Next:座標軸を逆さまにする Up:1次元量の表示 Previous:タイトルを描く

座標軸のスタイルを変える

とにかくデータは描けるようになったが, いつも真四角な箱型の座標軸ではつまらない. と, 人間だんだん欲が出てくることをUSPACKはちゃんと見通している. というより, USPACKは座標軸の細かな設定に関しては, かなりの部分でUXPACK/UYPACKに「よきに計らえ」と任せているので, 細かなことはこれらをコントロールするUZPACKにお願いすれば, いろいろと面倒を見てくれる. 裏を返せば, 細かいことまで思い通りにしたければUSPACKを呼ぶ前に, UZPACKにちゃんと根回しをしておかなければならない.


uspk07.f:page1

まず, 座標軸を描く位置は USPACK が管理しているので, USCGET/USCSETの内部変数'CXSIDE'(X軸)と 'CYSIDE'(Y軸)を指定する. 'CXSIDE', 'CYSIDE'は長さ2の文字型変数で, 'CXSIDE''T'(Top), 'B'(Bottom), 'U'(User)のうち2文字まで, 'CYSIDE''R'(Right), 'L'(Left), 'U'(User)のうち2文字まで指定でき, 初期値はそれぞれ'BT', 'LR'である. これらの文字は1文字づつ座標軸ルーチン (UXAXDV/UYAXDV)に渡される. 後はこれらのルーチンの仕事である.

uspk07.fの様に'CXSIDE''U'を指定した場合には, UXPACKに「ユーザー定義の位置」を通知しておかなければUXPACKが困ってしまう. そこでUZRSETで内部変数'UYUSER'を0.にして, X軸をY=0の位置に描くように指定する. この時, USGRPHは Y軸のスケーリングに関して, X軸を描く位置 (Y=0) を含めてスケーリングするので, 仮にデータが0を含まなくても 座標軸がとんでもないところに描かれることはない.

その他, uspk07.fの中では UZISET'IROTLYL''ICENTL'を変更して, Y軸のラベルを軸に平行にし, 'INNER'-1にして目盛を外向きにしている.

なお, 座標軸のタイトルとサブラベルに関してはUSPACKが管理しており, 'CXSIDE', 'CYSIDE'に指定された最初の文字の 位置にこれらを描くことになっている. (サブラベルの向きはUZISET'IROTLzs'に従う) また, サブラベルの文字を囲む括弧が気に入らない場合には, USCSETで内部変数'CBLKT'を指定することによって 変更することができる. この変数に空白を指定すると括弧は描かない.

これらUSpSET/USCSET及び UZpSETで設定された 座標軸のスタイルに関するパラメタは, 再設定されるまで有効である. タイトルとスケーリングに関するパラメタは GRFRMまたは GRFIGによって初期化される. 詳しい内部変数名およびリセットされるタイミングは, 「GRPH2」マニュアルの USPACK の章を参照のこと.

Source:uspack/uspk07.f


地球流体電脳倶楽部 DCL-5.0
Last modified: Wed Apr 30 13:59:59 1997