書式:
set arrow {<tag>} {from <position>} {to|rto <position>} { {arrowstyle | as <arrow_style>} | { {nohead | head | backhead | heads} {size <length>,<angle>{,<backangle>}} {filled | empty | nofilled} {front | back} { {linestyle | ls <line_style>} | {linetype | lt <line_type>} {linewidth | lw <line_width} } } }
unset arrow {<tag>} show arrow {<tag>}
タグ < tag> は各矢印を識別する整数です。タグを指定しない場合は、その 時点で未使用の最も小さい数が自動的に割り当てられます。タグを使うこと で、特定の矢印を変更したり、削除したりできます。既に存在する矢印の属性を 変更する場合は、タグを明示した set arrow コマンドで変更箇所を指定して ください。
< position> は x,y あるいは x,y,z で指定します。そしてその前に座標系を 選択するために first, second, graph, screen, character を置 くことができます。座標を指定しなければデフォルトでは 0 と見なされます。 矢印の端点は、5 つの座標系 - first か second の軸、あるいは graph, screen, character - のうちの 1 つを選択して指定できます。 詳細は、以下参照: coordinates (p. )。"from" の場所の座標系指定子は、"to" の場所に影響を及ぼすことはありません。グラフの枠をはみ出る矢印を書くこ ともできますが、出力端末によってはエラーを生ずることがあります。終点が "to" の代わりに "rto" で指定されている場合、始点からの相対的な位置に描 かれます。この場合、線形軸 (非対数軸)、および graph, screen 座標に 対しては、始点と終点の距離が与えられた相対的な値に対応します。一方、対 数軸に対しては、与えられた相対的な値は、始点から終点への積因子 (比) に 対応します。よって、対数軸の場合、相対的な値として 0 や負の値を与える ことは許されません。
nohead を指定することで、矢先のない矢 - すなわち線分を書くことも できます。これは描画の上に線分を描く別な方法を与えます。デフォルトでは 1 つの矢は 1 つの矢先をその終端に持っています。backhead は始点に矢先 を描き、heads は線分の両端に矢先を描きます。全ての出力形式が両端の矢 先の描画をサポートしているわけではありません。
矢先の大きさは size < length> ,< angle> または size < length> ,< angle> ,< backangle> で制御できます。< length> は矢先 の各枝の長さで、< angle> は矢先の枝と矢軸がなす角度 (単位は度) です。 < length> の単位は x 軸と同じですが、それは < length> の前に first, second, graph, screen, character をつけることで変更で きます。詳細は、以下参照: coordinates (p. )。< backangle> は、filled か または empty がともに使われた場合のみ効力を持ち、その場合、 < backangle> は矢先の後ろの部分の矢軸との切り角 (< angle> と同じ方 向; 単位は度) になります。出力形式 fig は、制限された切り角関数を持 っていて、それは 3 つの異なる形をサポートしていて、それは 2 つの閾値で 決定します: 70 度未満の場合、矢先はへこんだ切り角を持ち、110 度を超え る場合、後ろの部分に尖った角を持ち、その間の角では、矢先の後ろは直線に なります。
filled を指定すると、塗りつぶされた矢先を作ります (heads が使われ ている場合)。塗りつぶしは、多角形の塗りつぶしが行えるような出力形式で サポートされていて、そのリストについては、以下参照: pm3d (p. )。他の出力形 式では矢先は閉じられますが塗りつぶされません。それと同じ効果 (閉じられ るが塗られない) は、empty を指定しても得られます。また、metafont, metapost, latex, tgif のように、矢をそれら自身の独自のルーチンで 描くような出力形式では、矢先の塗りつぶしや矢先の枠線描きはもちろんサポ ートされません。
線種はユーザの定義したラインスタイルのリストから選ぶこともできますし (以下参照: set style line (p. ))、用意されている < line_type> の値 (デフォ ルトのラインスタイルのリストの番号) そして < linewidth> (デフォルトの幅 の倍数) を使ってここで定義することもできます。
しかし、ユーザー定義済のラインスタイルが選択された場合、その属性 (線種、 幅) は、単に他の set arrow コマンドで適当な番号や lt, lw などを 指定しても、変更はできないことに注意して下さい。
front を指定すると、矢はグラフのデータの上に描かれます。back が指 定された場合 (デフォルト) は矢はグラフのデータの下に描かれます。front を使えば、密集したデータで矢が見えなくなることを防ぐことができます。
例:
原点から (1,2) への矢印をユーザ定義済のラインスタイル 5 で描くには:
set arrow to 1,2 ls 5
描画領域の左下角から (-5,5,3) へタグ番号 3 の矢印を描くには:
set arrow 3 from graph 0,0 to -5,5,3
矢印の端を 1,1,1 に変更し、矢先を外して幅を 2 にするには:
set arrow 3 to 1,1,1 nohead lw 2
x=3 の所へグラフの下から上まで鉛直線を描くには:
set arrow from 3, graph 0 to 3, graph 1 nohead
T 字型の矢先を両端に持つ鉛直方向の矢を描くには:
set arrow 3 from 0,-5 to 0,5 heads size screen 0.1,90
始点からの相対的な距離をグラフ座標で与えて矢を描くには:
set arrow from 0,-5 rto graph 0.1,0.1
x の対数軸に相対的な終点を指定して矢を描く場合:
set logscale x set arrow from 100,-5 rto 10,10
2 番の矢印を消すには:
unset arrow 2
全ての矢印を消すには:
unset arrow
全ての矢印の情報を (タグの順に) 見るには:
show arrow
http://gnuplot.sourceforge.net/demo/arrowstyle.html矢印のデモ
竹野茂治@新潟工科大学