43.88 Xrange

コマンド set xrange は表示される水平方向の範囲を指定します。他の軸 にも同様のコマンドが存在しますし、極座標での半径 r, 媒介変数 t, u, v にも存在します。

書式:

     set xrange { [{{<min>}:{<max>}}] {{no}reverse} {{no}writeback} }
                | restore
     show xrange

ここで < min> < max> には定数、数式、または '*' で、'*' は自動縮尺機 能を意味します。日時データの場合、範囲は set timefmt の書式に従った 文字列を引用符で囲む必要があります。省略された値は変更されません。

yrange, zrange, x2range, y2range, cbrange, rrange, trange, urange, vrange は同じ書式を使用します。

オプション reverse は軸の方向を逆にします。例えば set xrange [0:1] reverse は、1 が左、0 が右であるような軸にします。 これは、もちろん set xrange [1:0] と同じですが、reverse は主に自動 縮尺 (autoscale) で用いられることを意図しています。

オプション writeback は、set xrange で占められているバッファの中に 自動縮尺機能により作られた範囲を保存します。これは、いくつかの関数を同 時に表示し、しかしその範囲はそのうちのいくつかのものから決定させたい場 合に便利です。writeback の作用は、plot の実行中に機能するので、その コマンドの前に指定する必要があります。最後に保存した水平方向の範囲は set xrange restore で復元できます。例を上げます。


     set xrange [-10:10]
     set yrange [] writeback
     plot sin(x)
     set yrange restore
     replot x/2

この場合、y の範囲 (yrange) は sin(x) の値域として作られた [-1:1] の方 になり、x/2 の値域 [-5:5] は無視されます。上記のそれぞれのコマンドの後 に show yrange を実行すれば、上で何が行なわれているかを理解する助け になるでしょう。

2 次元描画において、xrangeyrange は軸の範囲を決定し、trange は、媒介変数モードの媒介変数の範囲、あるいは極座標モードの角度の範囲を 決定します。同様に 3 次元媒介変数モードでは、xrange, yrange, zrange が軸の範囲を管理し、urangeyrange が媒介変数の範囲を管理します。

極座標モードでは、rrange は描画される半径の範囲を決定します。< rmin> は半径への追加の定数として作用し、一方 < rmax> は半径を切り捨てる (clip) ように作用し、< rmax> を越えた半径に対する点は描画されません。xrangeyrange は影響されます。これらの範囲は、グラフが r(t)-rmin のグラ フで、目盛りの見出しにはそれぞれ rmin を加えたようなものであるかのよう にセットされます。

全ての範囲は部分的に、または全体的に自動縮尺されますが、データの描画で なければ、パラメータ変数の自動縮尺機能は意味がないでしょう。

範囲は plot のコマンドライン上でも指定できます。コマンドライン上で与 えられた範囲は単にその plot コマンドでだけ使われ、set コマンドで設 定された範囲はその後の描画で、コマンドラインで範囲を指定していないもの 全てで使われます。これは splot も同じです。

例:

x の範囲をデフォルトの値にします:

     set xrange [-10:10]

y の範囲が下方へ増加するようにします:

     set yrange [10:-10]

z の最小値には影響を与えずに (自動縮尺されたまま)、最大値のみ 10 に設 定します:

     set zrange [:10]

x の最小値は自動縮尺とし、最大値は変更しません:

     set xrange [*:]

竹野茂治@新潟工科大学
2009年9月7日