34.7 With

関数やデータの表示にはたくさんのスタイルのうちの一つを使うことができます。 キーワード with がその選択のために用意されています。

書式:

     with <style> { {linestyle | ls <line_style>}
                    | {{linetype  | lt <line_type>}
                       {linewidth | lw <line_width>}
                       {linecolor | lc <colorspec>}
                       {pointtype | pt <point_type>}
                       {pointsize | ps <point_size>}
                       {fill | fs <fillstyle>}
                       {nohidden3d | nocontours}
                       {palette}}
                  }

ここで、< style> lines, points, linespoints, impulses, dots, steps, fsteps, histeps, errorbars, labels, xerrorbars, yerrorbars, xyerrorbars, errorlines, xerrorlines, yerrorlines, xyerrorlines, boxes, histograms, filledcurves, boxerrorbars, boxxyerrorbars, financebars, candlesticks, vectors, image, rgbimage, pm3d の中のいずれかです。これらのいくつかに対してはデー タを付け足す必要があります。それぞれのスタイルの詳細については、以下参照: plotting styles (p. [*])fill は 2 次元描画のみに関係があります (今の ところは boxes, boxxyerrorbarscandlesticks のみ)。 filledcurvespm3d (pm3dsplot でのみ使用される) には、上 には書かれていない追加のオプションを与えることもできます。詳細は、それ らのヘルプや下にある例を参照してください。

デフォルトのスタイルは set style functionset style data コマン ドで決定されます。

デフォルトでは、それぞれの関数やデータファイルは、使うことができる型の 最大数に達するまで異なる線種、点種を使います。すべての端末用ドライバは 最低 6 つの異なる点種をサポートしていて、もしたくさん要求された場合、 それらを順に再利用していきます。LaTeX ドライバは、それより 6 つ多く点種 (いずれも円の変種) を持っていて、よって点での曲線の描画は 12 種類の曲線 が繰り返されるのみです。PostScript ドライバは (postscript) 全部で 64 種類の 点種を持っています。

一つの描画で線種や点種を選びたいならば、< line_type> < point_type> を 指定してください。これらの値は、その描画で使われる線種や点種を指定する 正の整定数 (または数式) です。使用する端末で使える線種、点種を表示する には test コマンドを使ってください。

描画の線の幅や点の大きさは < line_width> < point_size> で変更できます。 これらはその各々の端末のデフォルトの値に対する相対的な値として指定しま す。点の大きさは全体に通用するように変更できます。詳細は、以下参照:set pointsize (p. [*])。しかし、ここでセットされる < point_size> と、 set pointsize でセットされる大きさは、いずれもデフォルトのポイントサ イズに掛けられることに注意してください。すなわち、それらの効果は累積は しません。例えば、set pointsize 2; plot x w p ps 3 は、デフォルトの サイズの 3 倍であって、6 倍ではありません。

ラインスタイルの一部分、あるいは各 plot において pointsize variable という指定も可能です。この場合、入力には追加の 1 列が要求されます。例 えば 2D 描画では 3 列、3D 描画では 4 列のデータが必要になります。個々 の点のサイズは、全体を通しての pointsize に、データファイルからの入力 による値をかけたものとして決定されます。

set style line を使って線種/線幅、点種/点幅の組を定義すれば、そのス タイルの番号を < line_style> にセットすることでそれらを使うことができま す。

gnuplot が pm3d をサポートするようにインストールされているならば、 splots において lines, points, dots の色を滑らかに変化させるための特 別なキーワード palette が使えます。その色は、コマンド set palette であらかじめ設定された滑らかに変化するカラーパレットから選択します。色 の値は、点の z 座標の値か、または using で 4 番目のパラメータとして 指定される色座標に対応します。2 次元、3 次元の描画 (plotsplot コマンド) の両方で、パレット色を小数値かまたはカラーボックスの範囲へ対 応づけられた値のいずれかで指定することができます。パレット色の値は、 using 指定で明示的に指定された入力列から読み込むことも可能です。 以下参照: colors (p. [*]), set palette (p. [*]), linetype (p. [*])

キーワード nohidden3d は、splot コマンドで生成される描画にのみ適用 されます。通常、グローバルなオプション set hidden3d はグラフ上の全て の描画に適用されますが、各々の描画に nohidden3d オプションをつけるこ とで、それを hidden3d の処理から除外することができます。nohidden3d がマークされた曲面以外の個々の描画要素 (線分、点、ラベル等) は、通常は 他の何らかの描画要素で隠されてしまう場合も全て描画されます。

同様に、キーワード nocontours は、グローバルに "set contour" 指定が 有効な場合でも、個別の plot に対する等高線描画機能をオフにします。

キーワードは暗示するような形で省略可能です。

linewidth, pointsize, palette オプションは全ての端末装置でサポー トされているわけではないことに注意してください。

例:

以下は、sin(x) を鉛直線で描画します:

     plot sin(x) with impulses

以下は、x を点で描画し、x**2 をデフォルトの方式で描画します:

     plot x w points, x**2

以下は、tan(x) を関数のデフォルトの方式で、"data.1" を折れ線で描画します:

     plot [ ] [-2:5] tan(x), 'data.1' with l

以下は、"leastsq.dat" を鉛直線で描画します:

     plot 'leastsq.dat' w i

以下は、データファイル "population" を矩形で描画します:

     plot 'population' with boxes

以下は、"exper.dat" をエラーバー付きの折れ線で描画します (エラーバーは3 列、あるいは 4 列のデータを必要とします):

     plot 'exper.dat' w lines, 'exper.dat' notitle w errorbars

もう一つの "exper.dat" のエラーバー付きの折れ線 (errorlines) での描画 方法 (エラーバーは 3 列、あるいは 4 列のデータが必要):

     plot 'exper.dat' w errorlines

以下は、sin(x) と cos(x) をマーカー付きの折れ線で描画します。折れ線は 同じ線種ですが、マーカーは異なったものを使います:

     plot sin(x) with linesp lt 1 pt 3, cos(x) with linesp lt 1 pt 4

以下は、"data" を点種 3 で、点の大きさを通常の 2 倍で描画します:

     plot 'data' with points pointtype 3 pointsize 2

以下は、"data" を描画しますが、4 列目から読んだデータを pointsize の値として使用します:

     plot 'data' using 1:2:4 with points pt 5 pointsize variable

以下は、2 つのデータ集合に対して、幅のみ異なる線を用いて描画します:

     plot 'd1' t "good" w l lt 2 lw 3, 'd2' t "bad" w l lt 2 lw 1

以下は、x*x の曲線の内部の塗りつぶしと色の帯を描画します:

     plot x*x with filledcurve closed, 40 with filledcurve y1=10

以下は、x*x の曲線と色の箱を描画します:

     plot x*x, (x>=-5 && x<=5 ? 40 : 1/0) with filledcurve y1=10 lt 8

以下は、滑らかに変化する色の線で曲面を描画します:

     splot x*x-y*y with line palette

以下は、2 つの色のついた曲面を、異なる高さで表示します:

     splot x*x-y*y with pm3d, x*x+y*y with pm3d at t

竹野茂治@新潟工科大学
2009年4月5日