87.2 矢印 (arrow)

set arrow コマンドを使うことにより、グラフ上の任意の位置に矢印を表示 することができます。

書式:

     set arrow {<tag>} from <position> to <position>
     set arrow {<tag>} from <position> rto <position>
     set arrow {<tag>} from <position> length <coord> angle <ang>
     set arrow <tag> arrowstyle | as <arrow_style>
     set arrow <tag> {nohead | head | backhead | heads}
                     {size <headlength>,<headangle>{,<backangle>}}
                     {filled | empty | nofilled | noborder}
                     {front | back}
                     {linestyle <line_style>}
                     {linetype <line_type>} {linewidth <line_width>}


     unset arrow {<tag>}
     show arrow {<tag>}

タグ < tag> は各矢印を識別する整数です。タグを指定しない場合は、その時 点で未使用の最も小さい数が自動的に割り当てられます。タグを使うことで、 特定の矢印を変更したり、削除したりできます。既に存在する矢印の属性を変 更する場合は、タグを明示した set arrow コマンドで変更箇所を指定して ください。

矢印の最初の端点の位置は、常に "from" で指定しますが、もう一つの端点は 以下で説明する 3 つの異なる仕組みのいずれかで指定できます。< position> は x,y あるいは x,y,z で指定します。そしてその前に座標系を選択するた めに first, second, graph, screen, character を置くことがで きます。座標を指定しなければデフォルトでは 0 と見なされます。詳細は以下参照: coordinates (11)。最初の端点に対する座標指定子は、2 番目の端点に は影響しません。

1) "to < position> " は、もう一つの端点の絶対座標を指定します。

2) "rto < position> " は、"from" の位置からのずれを指定します。この場合、 線形軸 (非対数軸)、および graph, screen 座標に対しては、始点と終点 の距離が与えられた相対的な値に対応します。一方、対数軸に対しては、与え られた相対的な値は、始点から終点への倍数に対応します。よって、対数軸の 場合、相対的な値として 0 や負の値を与えることは許されません。

3) "length < coordinate> angle < angle> " は、グラフ平面内での矢印の方向 を指定します。length には任意の座標系を適用できます。angle の単位は常 に度になっています。

矢印の他の属性も、あらかじめ定義した矢のスタイルで、またはコマンド set arrow でそれぞれ与えることが可能です。矢印の他の属性の詳細につい ては以下参照: arrowstyle (87.72.1)

例:

原点から (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

これは 100,-5 から 1000,5 までの矢を描きます。線形軸 (y) に対しては相 対的な座標 10 が "差 10" を意味するのに対し、対数軸 (x) に対しては相対 的な座標 10 は "倍数 10" として働きます。

2 番の矢印を消すには:

     unset arrow 2

全ての矢印を消すには:

     unset arrow

全ての矢印の情報を (タグの順に) 見るには:

     show arrow

矢印のデモ

竹野茂治@新潟工科大学
2015年1月5日