43.59.1 Set style arrow

各出力形式は矢や点の形のデフォルトの集合を持っていて、それはコマンド test で参照できます。set style arrow は矢の形、幅、点の形、サイズ を定義し、それらを後で使うときにいちいち同じ情報を繰り返して指定しなく てもインデックスで参照できるようにします。

書式:

     set style arrow <index> default
     set style arrow <index> {nohead | head | heads}
                             {size <length>,<angle>{,<backangle>}}
                             {filled | empty | nofilled}
                             {front | back}
                             { {linestyle | ls <line_style>}
                               | {linetype | lt <line_type>}
                                 {linewidth | lw <line_width} }
     unset style arrow
     show style arrow

< index> は整数で、それで矢のスタイル (arrowstyle) を特定します。

default を指定すると、全ての arrow スタイルパラメータはそのデフォル トの値になります。

< index> の arrowstyle が既に存在する場合、他の全ては保存されたまま、与 えられたパラメータのみが変更されます。< index> が存在しなければ、指定さ れなかった値はデフォルトの値になります。

nohead を指定することで、矢先のない矢 - すなわち線分を書くことも できます。これは描画の上に線分を描く別な方法を与えます。デフォルトでは 1 つの矢先がついています。heads の指定で線分の両端に矢先が描かれます。

矢先の大きさは size < length> ,< angle> または size < length> ,< angle> ,< backangle> で制御できます。< length> は矢先 の各枝の長さで、< angle> は矢先の枝と矢軸がなす角度 (単位は度) です。 < length> の単位は x 軸と同じですが、それは < length> の前に first, second, graph, screen, character をつけることで変更で きます。詳細は coordinates を参照してください。 < backangle> は、filled かまたは empty がともに使われた場合のみ効 力を持ち、その場合、< backangle> は矢先の後ろの部分の矢軸との切り角 (< angle> と同じ方向; 単位は度) になります。 出力形式 fig は、制限された切り角関数を持っていて、それは 3 つの異な る形をサポートしていて、それは 2 つの閾値で決定します: 70 度未満の場合、 矢先はへこんだ切り角を持ち、110 度を超える場合、後ろの部分に尖った角を 持ち、その間の角では、矢先の後ろは直線になります。

filled を指定すると、塗りつぶされた矢先を作ります (heads が使われ ている場合)。塗りつぶしは、多角形の塗りつぶしが行えるような出力形式で サポートされていて、そのリストについては pm3d を参照してください。 他の出力形式では矢先は閉じられますが塗りつぶされません。それと同じ効果 (閉じらるが塗られない) は、empty を指定しても得られます。また、 metafont, metapost, latex, tgif のように、矢をそれら自身の独自 のルーチンで描くような出力形式では、矢先の塗りつぶしや矢先の枠線描きは もちろんサポートされません。

線種はユーザの定義したラインスタイルのリストから選ぶこともできますし (set style line 参照)、用意されている < line_type> の値 (デフォルト のラインスタイルのリストの番号) そして < linewidth> (デフォルトの幅の 倍数) を使ってここで定義することもできます。

しかし、ユーザー定義済のラインスタイルが選択された場合、その属性 (線種、 幅) は、単に他の set style arrow コマンドで適当な番号や lt, lw などを指定しても、変更はできないことに注意して下さい。

front を指定すると、矢はグラフのデータの上に描かれます。back が指 定された場合 (デフォルト) は矢はグラフのデータの下に描かれます。front を使えば、密集したデータで矢が見えなくなることを防ぐことができます。

例:

矢先がなく、倍の幅が矢を描くには:

     set style arrow 1 nohead lw 2
     set arrow arrowstyle 1

その他の例については set arrow を参照してください。

竹野茂治@新潟工科大学
2007年12月17日