81.3 Autoscale

自動縮尺機能 (autoscale) は x, y, z の各軸に対して独立に、または一括し て指定できます。デフォルトでは全ての軸に対して自動縮尺設定を行います。 図の中の一部の描画 (plot) の組のみを元に autoscale したい場合は、そ の対象でない plot にフラグ noautoscale をつけることができます。 以下参照: datafile (71.3)

書式:

     set autoscale {<axes>{|min|max|fixmin|fixmax|fix} | fix | keepfix}
     unset autoscale {<axes>}
     show autoscale

ここで、< axes> (軸) は x, y, z, cb, x2, y2, xy のいずれ かです。min または max を軸に追加指定すると (xy では使えませんが) それは gnuplot にその軸の最小値、または最大値のみを自動縮尺させるこ とになります。軸も何も指定されていない場合は全ての軸が対象となります。

fixminfixmaxfix を追加指定すると、等間隔の目盛りの自動縮 尺時の、次の目盛り位置までの範囲の自動拡大を gnuplot に行わせないよう にします。set autoscale fix はこれを全ての軸に対して設定します。コマ ンド set autoscale keepfix は、直前の fix の設定を維持したまま全て の軸を自動縮尺にします。

自動縮尺機能を使うときは、描画範囲は自動的に割り出され、従属変数軸 (plot のときは y 軸、splot のときは z 軸) は、関数やデータの値域が 収まるように設定されます。

従属変数軸 (y または z) の自動縮尺機能が指定されていない場合は、現在の y や z の描画範囲がそのまま使われます。

独立変数軸 (plot のときは x 軸、splot のときは x,y 軸) の自動縮尺 機能が指定されている場合は、描画される全てのデータファイルの点が収まる ように定義域をとるようになります。データファイルが 1 つも指定されてい ない場合は、自動縮尺機能はなんの効果もありません。つまり、関数のみが 指定されていてデーターファイルを使わない場合は、x 軸の描画範囲 (z = f(x,y) を描画しているときは y 軸も) は影響をうけません。

範囲に関するより詳しい情報に関しては、以下参照: set xrange (81.95)

媒介変数モード (parametric) でも自動縮尺機能は有効です (以下参照:set parametric (81.51))。この場合、より多くの従属変数があるので、x, y, z 各 軸に関して、より多くの制御が行われます。媒介変数モードでの独立変数 (仮 変数) は plot では t で splot では u, v です。そして媒介変数モード では、自動縮尺機能は (t, u, v, x, y, z) の全ての描画範囲を制御し、x, y, z の範囲の自動設定を完全に行います。

自動縮尺機能は、極座標モード (polar mode) でも plot の媒介変数モード と同様に機能しますが、極座標モードでは set dummy で独立変数を t から 変更するできる (以下参照: set dummy (81.19)) という拡張があります。

目盛りが第二の軸に表示され、しかもこれらの軸に対する描画が行われなかっ た場合には、x2range と y2range は xrange と yrange の値を受け継ぎます。 これは、xrange と yrange が整数個の目盛り幅に自動縮尺される「前」に行わ れますので、場合によって予期しない結果をもたらす可能性があります。それ を避けるために fixmin, fixmax オプションを使うことができます。

例:

以下は y 軸の自動縮尺機能を指定します (他の軸には影響を与えません):

     set autoscale y

以下は y 軸の最小値に対してのみ自動縮尺機能を指定します (y 軸の最大値、および他の軸には影響を与えません):

     set autoscale ymin

以下は x2 軸の隣の目盛りへの自動範囲拡大機能を無効にし、よって描画データ内、または関数に対する丁度の描画範囲を維持します:

     set autoscale x2fixmin
     set autoscale x2fixmax

以下は x, y 両軸の自動縮尺機能を指定します:

     set autoscale xy

以下は x, y, z, x2, y2 全軸の自動縮尺機能を指定します:

     set autoscale

以下は x, y, z, x2, y2 全軸の自動縮尺機能を禁止します:

     unset autoscale

以下は z 軸のみについて自動縮尺機能を禁止します:

     unset autoscale z



Subsections
竹野茂治@新潟工科大学
2012年10月3日