• 検索結果がありません。

Isosamples

ドキュメント内 gnuplot documentation (ページ 120-126)

関数を面として描画する場合の孤立線(格子)の密度はコマンドset isosamplesで変更できます。

書式:

set isosamples <iso_1> {,<iso_2>}

show isosamples

各曲面グラフは <iso 1> 個の u-孤立線と <iso 2> 個の v-孤立線を持ちます。<iso 1> のみ指定すれば、

<iso 2><iso 1>と同じ値に設定されます。デフォルトでは、u, vそれぞれ10本の標本化が行われます。

標本数をもっと多くすればより正確なグラフが作られますが、時間がかかります。これらのパラメータは、デー タファイルの描画には何も影響を与えません。

孤立線とは、曲面の一つの媒介変数を固定して、もう一つの媒介変数によって描かれる曲線のことです。孤立 線は、曲面を表示する単純な方法を与えます。曲面 s(u,v)の媒介変数u を固定することで u-孤立線 c(v) =

s(u0,v)が作られ、媒介変数 vを固定することでv-孤立線 c(u) = s(u,v0)ができます。

関数の曲面グラフが隠線処理なしで描かれている場合、set samples は各孤立線上で標本化される点の数を 制御します。以下参照: set samples (p.147),set hidden3d (p. 118)。等高線描画ルーチンは、関数の点 の標本化は各孤立線の交点で行われると仮定しているので、関数の曲面と等高線の解像度を変更するときは、

isosamplesと同じようにsamplesを変更するのが望ましいでしょう。

Key

コマンドset keyは描画された曲線の説明や表題を表示することを可能にします。

説明(key)の内容、すなわち描画される個々のデータ集合や関数につける名前、およびそれらグラフの曲線と

グラフ上の点を表す記号からなるサンプルは、plot(またはsplot)コマンドのtitle,withオプションにより 決定されます。より詳しい情報については、以下参照: plot title (p. 92),plot with (p. 93)。

書式:

set key {on|off} {default}

{{inside | outside} | {lmargin | rmargin | tmargin | bmargin}

| {at <position>}}

{left | right | center} {top | bottom | center}

{vertical | horizontal} {Left | Right}

{{no}opaque}

{{no}reverse} {{no}invert}

{samplen <sample_length>} {spacing <vertical_spacing>}

{width <width_increment>}

{height <height_increment>}

{{no}autotitles {columnheader}}

{title "<text>"} {{no}enhanced}

{font "<face>,<size>"} {textcolor <colorspec>}

{{no}box { {linestyle | ls <line_style>}

| {linetype | lt <line_type>}

{linewidth | lw <line_width>}}}

{maxcols {<max no. of columns> | auto}}

{maxrows {<max no. of rows> | auto}}

unset key show key

キー(説明)は、グラフ内の各描画に対するタイトルとサンプル(凡例;線、点、箱)から成ります。キーの機 能は、set key offまたはunset keyで無効にできます。個々のキーのエントリは、対応するplotコマンド 内にキーワードnotitleを使うことで無効にできます。

キー内の各要素はvertical(縦)またはhorizontal(横)に従って重ねられます。verticalの場合、keyは可 能ならば2,3個の縦の列を使います。すなわち、各要素は垂直スペースがなくなるまでは1 つの列に整列され ますが、そこから新しい列が開始されます。垂直スペースは、maxrowsを使って制限できます。horizontal の場合は、keyは横の行をできるだけ少なく使おうとします。水平方向のスペースは maxcolsにより制限で きます。

デフォルトでは、key はグラフ領域の内側の右上の角に置かれます。キーワード left, right, top, bottom, center, inside,outside,lmargin,rmargin,tmargin,bmargin(,above, over, below,under)は、グ ラフ領域の他の場所への自動的な配置のために使用します。keyの描画をどこに置くかをより詳しく指示する

ためのat<position>もあります。この場合、キーワードleft,right,top,bottom,centerが同様の基準

点合わせの設定の目的で使われます。より詳しくは、以下参照: key placement (p. 122)。

グラフのタイトルの行揃えはLeft,Right(デフォルト)で指示します。ラベル文字列と曲線のサンプルは左右 入れ替えることができます(reverse)し、 全体を枠で囲むこともできます(box {...})。その枠の線は、線種

(linetype),線幅(linewidth)、あるいは定義済のラインスタイル(linestyle)を指定することもできます。

デフォルトでは、keyは一つのグラフと同時に作られます。すなわち、keyの記号とタイトルは、それに対応 するグラフと同時に描かれます。それは、新しいグラフが時にはkeyの上に要素をかぶせて配置しうることを 意味します。set key opaqueは、key をすべてのグラフの描画が終った後に生成させます。この場合、key の領域は背景色で塗りつぶされてkeyの記号とタイトルが描かれます。よって、key自身はいくつかの描画要 素を覆い隠してしまい得ることになります。set key noopaqueでデフォルトに復帰できます。

デフォルトでは、最初の描画のラベルが説明の一番上に現われ、それに続くラベルがその下に並んで行きます。

オプションinvertは、最初のラベルを説明の一番下に置き、それに続くラベルをその上に並べて行きます。こ のオプションは、説明のラベルの縦の並びの順番を、積み上げ形式のヒストグラム(histograms)の箱の順番 に合わせるときに便利でしょう。

<height increment>は、説明の箱の高さに加えたり減らしたりする高さ(何文字分か)を表す数値です。これ

は主に、説明の回りに箱を描く場合で、説明の並びの回りの境界線をより大きくしたい場合のものです。

plotsplotで描画される全ての曲線は、デフォルトのオプションautotitlesに従って表題(title) がつけ られます。表題の自動生成は、noautotaitleで抑制できますがその場合、(s)plot ... title ... で明示的に指 定された表題のみが描かれることになります。

コマンドset key autotitle columnheaderは、各入力データの先頭行の各列のエントリをテキスト文字列 と解釈し、対応する描画グラフのタイトルとして使用します。描画される量が、複数の列データの関数である 場合は、gnuplot はどの列をタイトルの描画に使えばいいのかわかりませんので、そのような場合、plotコマ ンド上で、例えば以下のように明示的にタイトルの列を指定する必要があります。

plot "datafile" using (($2+$3)/$4) title columnhead(3) with lines

全体に渡る表題は説明の上につけることもできます(title"<text>")。単一引用符(’)と二重引用符(")の違 いについては、以下も参照: syntax (p.42)。説明の表題の行揃えは、グラフの表題の行揃えと同じものが使 われます。

set key のデフォルトは、on, right, top, vertical, Right, noreverse, noinvert, samplen 4, spacing 1.25,title"",noboxです。説明の枠の線種はデフォルトではグラフ描画の外枠と同じものが使われます。set key defaultとするとデフォルトの設定に戻ります。

説明は、1行に1曲線分ずつの数行のまとまりとして書かれます。各行の右側には(reverseを使っていれば左 側には)その曲線と同じ種類の直線のサンプルが引かれ、他の側にはplotコマンドから得られる文字列(title) が置かれます。これらの行は、架空の直線が説明の左側と右側を分けるかのように垂直に整列されます。コマ

ンドset keyで指定する座標はこの架空の線分の上の端の座標です。plotでは直線の位置を指定するために

xとyだけが使われ、splot では、x, y, zの値全てを使い、グラフを2 次元面へ投影するのと同じ方法を使っ て、架空の直線の2次元画面での位置を生成します。

TeX や、整形情報が文字列に埋め込まれる出力を使う場合は、gnuplotは説明の位置合わせのための文字列 の幅を正しく評価することしかできません。よって説明を左に置く場合はset key left Left reverseという 組合せを使うのがいいでしょう。

splotで等高線を書く場合、説明には等高線のラベルも表示されます。これらのラベルの並び具合がうまくい

かない、または別な位置に小数点を置きたい場合はそのラベルの書式を指定できます。詳細は、以下参照:set clabel (p. 105)。

例:

以下はデフォルトの位置に説明を表示します:

set key default 以下は説明を表示しなくします:

unset key

以下はデフォルトの(第一の)座標系での(2,3.5,2)の位置に説明を表示します:

set key at 2,3.5,2

以下は説明をグラフの下に表示します:

set key below

以下は説明を左下角に表示し、テキストは左に行揃えで、タイトルをつけ、線種3の外枠を書きます:

set key left bottom Left title ’Legend’ box 3

キーの配置 (key placement)

配置の仕組みを理解ための最も重要な概念は、グラフ領域、すなわち内か外かということと、グラフ領域の境 界との間の余白(margin)を考えることです。グラフ領域に沿って、キーワードleft/center/right(l/c/r)と top/center/bottom(t/c/b)は、keyをその領域の内側のどこに置くかを制御します。

モードinside では、keyはキーワードleft(l),right(r),top(t),bottom(b), center(c)によって以下の 図のように描画領域の境界に向かって出力されます:

t/l t/c t/r

c/l c c/r

b/l b/c b/r

モード outsideでも上と同様に自動的に配置されますが、グラフ領域の境界に対して、というよりもむしろ

見た目に対して、というべきでしょう。すなわち、グラフの境界は、グラフ領域の外のkeyの場所を作るため に、内側に移動することになります。しかし、これは他のラベルの邪魔をしますし、もしかしたら出力デバイ スによってはエラーを引き起こすかもしれません。keyの出力に合わせてどの描画境界が移動するかは、上に 述べたkeyの位置、および重ね上げの方向に依存します。4方向の中心揃えのオプション (center)に関して は、どの境界が動くのかに関するあいまいさはありませんが、角への出力のオプションについては、重ね上げ 方向がverticalの場合は左または右の境界が、horizontalの場合は上または下の境界が、それぞれ内側に適 切に移動します。

余白 (margin) の書き方は、重ね上げの方向にかかわない自動的な配置を可能にしています。lmargin (lm),

rmargin(rm),tmargin(tm),bmargin(bm)のうちの一つを、矛盾しない1方向のキーワードと組み合わ せて使用した場合、以下の図に示した場所にkeyが配置されます:

l/tm c/tm r/tm

t/lm t/rm

c/lm c/rm

b/lm b/rm

l/bm c/bm r/bm

キーワードaboveovertmargin と同じ意味です。以前のバージョンとの互換性のために、aboveと

overはl/c/rや重ね上げ方向のキーワードなしで使用すると、centerでhorizontalを使います。キーワード

belowunderbmarginと同じ意味です。互換性のために、belowと underはl/c/rや重ね上げ方向 のキーワードなしで使用するとcenterhorizontalを使います。さらに、outsideも互換性のためにt/b/c や重ね上げ方向のキーワードがなければ、top,right, vertical(つまり上のt/rmと同じ)を使用します。

説明の位置 (<position>)は、以前のバージョンと同様単にx,y,z を指定してもいいですが、その最初のサン プル行の座標の座表系を選択するための5つのキーワード(first,second, graph,screen,character)を頭 につけることもできます。詳細は、以下参照: coordinates (p. 23)。<position>が与えられた場合のleft, right,top,bottom,centerの効果は、labelコマンドで配置される文字列の場合と同じように基準位置の位 置合わせに使用されます。すなわち、leftは keyが <position>の右に置かれて左合わせで出力されます。他 の場合も同様です。

キーの凡例 (key samples)

デフォルトでは、グラフ上の各描画はキー内にそれぞれに対応するエントリを生成します。このエントリに は、描画タイトルと、その描画で使われるのと同じ色、同じ塗りつぶし属性による線/点/箱 のサンプルが入 ります。fontとtextcolor属性は、キー内に現われる個々の描画タイトルの見た目を制御します。textcolorを

"variable"にセットすると、キーの各エントリの文字列は、描画グラフの線や塗りつぶし色と同じ色になりま

す。これは、以前のある時期のgnuplotのデフォルトの挙動でした。

グ ラ フ 曲 線 の サ ン プ ル の 線 分 の 長 さ は samplen で 指 定 で き ま す。そ の 長 さ は 目 盛 り の 長 さ と 、

<sample length>*(文字幅)の和として計算されます。sapmlenは、グラフ上の点のサンプルの位置にも(も

しサンプル線分自身が書かれなくても)影響を与えています。それは、点の記号はサンプル線分の中央に書か れるためです。

行間の垂直スペースは、spacing で指定できます。その幅は、点のサイズ(pointsize)と垂直な目盛りのサイ

ズと<vertical spacing>の積になります。この垂直スペースは、文字の高さよりも小さくはならないことが保

証されています。

<width increment>は、文字列の長さに加えたり減らしたりする幅(何文字分か) を表す数値です。これは、

説明に外枠を書き、文字列に制御文字を使う場合にだけ有用でしょう。gnuplotは外枠の幅を計算するときは、

ラベル文字列の文字数を単純に数えるだけなので、それを修正するのに使えます。

ドキュメント内 gnuplot documentation (ページ 120-126)