99.7.1 1 次元のサンプリング (x または t 軸) (1D sampling)

デフォルトでは、計算対象の関数に対して、描画範囲全体にわたって標本 (サ ンプル) を取ります。この範囲は、事前にコマンド set xrange で設定する か、plot コマンドの一番最初の場所で x 軸の範囲指定をするか、またはその グラフのすべての要素を含む範囲内にデータ全体が入るように自動縮尺 (autoscaling) された x の範囲です。疑似ファイル "+" が生成する標本点は、 t 軸の現在の範囲全体に渡りますが、それは x 軸の範囲と同じでも同じでな くても構いません。

個々の描画要素毎に対し、標本範囲をさらに制限して割り当てることもできま す。

例:

以下は、x 全体の範囲を 0 から 1000 としてファイルのデータを描画し、2 つの関数を全体の範囲の一部分だけそれぞれ描画します:


     set xrange [0:1000]
     plot 'datafile', [0:200] func1(x), [200:500] func2(x)

以下は、上とほぼ同様ですが、全体の範囲はデータファイルの内容によって決 定します。この場合、標本化される関数は、全体がグラフ内に収まるかもしれ ませんし、収まらないかもしれません:


     set autoscale x
     plot 'datafile', [0:200] func1(x), [200:500] func2(x)

以下のコマンドはあいまいです。先頭の範囲 [0:10] は、多分最初の関数の標 本化のみに向けたのだと思いますが、実際には、グラフ全体に適用され、事前 の xrange の定義も無視されてしまいます:


     set xrange [0:50]
     plot [0:10] f(x), [10:20] g(x), [20:30] h(x)

上の例のあいまいさを除くためには、キーワード sample を挿入することで [0:10] が軸の範囲ではなく標本範囲であることを指示するか、または範囲指 定内に 2 番目のコロンに続く標本増分フィールドを追加することです。後者 は、軸範囲としては完全な範囲指定 [min:max:increment] は解釈されないた めに機能します。増分フィールドが空の場合は、増分はデフォルトの (max-min) を標本点数で割った値となり、よって以下の 3 つの変種は同じ結 果を生じます。


     set samples 100
     plot sample [0:10]     f(x), [10:20] g(x), [20:30] h(x)
     plot        [0:10:0.1] f(x), [10:20] g(x), [20:30] h(x)
     plot        [0:10:]    f(x), [10:20] g(x), [20:30] h(x)

以下の例は、3 次元グラフにらせんの曲線を描く一つの方法を提示します:


     set xrange [-2:2]; set yrange [-2:2]
     set angle degrees
     splot [phi=1:720:2] '+' using (cos(phi)):(sin(phi)):(phi)

竹野茂治@新潟工科大学
2024-03-29