矢印の描画スタイル

set arrow コマンドで矢印を描画する際に,そのつど描画スタイルを指定するのは面倒です. そこでgnuplotにはデフォルトの描画スタイルを設定するコマンドが用意されています.
ここではgnuplotで描画する矢印の描画スタイルを設定する方法を紹介します.


矢印の描画スタイルを設定する

矢印の描画スタイルを設定するには set style arrow コマンドを使用します.

set style arrow の書式

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> }

なお,設定した矢印の描画スタイルは set arrow コマンドを使用する際に arrowstyle <index> を指定することで適用することができます.
set style arrow コマンドは指定可能なオプションが多くややこしいので,出来ることを順番に以下で説明します.


矢先を変更する

矢先の表示

矢先の表示を変更するには set style arrow コマンドに head,nohead,heads のいずれかを指定します.

オプション意味
head線分の片端に矢先を表示する
heads線分の両端に矢先を表示する
nohead矢先を表示しない
矢先の種類

矢先の種類を変更するには filled,empty,nofilled のいずれかを指定します.

オプション意味
filled矢先を塗りつぶす
empty矢先を塗りつぶさない
nofilledデフォルトの矢先
矢先の大きさ

矢先の大きさは size <length>, <angle> または size <length>, <angle>, <backangle> で変更することが可能です.

引数意味
<length>矢先の長さを指定
<angle>矢先の尖端の角度を指定 (度で指定)
<backangle>矢先の後ろの部分の角度を指定
(filledemptyが指定されたときのみ)

gnuplot> # 矢先を変更
gnuplot> set style arrow 1 heads empty size 2, 45
gnuplot> set style arrow 2 head filled size 3, 30, 70
gnuplot> # 矢印を描画
gnuplot> set arrow 1 from -5,0 to 5,0 arrowstyle 1
gnuplot> set arrow 2 from 0,-5 to 0,5 arrowstyle 2
gnuplot> plot x

出力

グラフの矢先の描画スタイルを設定した結果

線分の変更

線分のタイプの変更

線分のタイプを変更するには set style arrow コマンドにオプションとして linetype <line_type> を指定します. <line_type> にはデフォルトのラインスタイルのリストの番号を指定します. なお,linetype は短縮して lt と書くことが可能です.

線分の太さの変更

線分の太さを変更するには linewidth <line_width> を指定します. <line_width> には線分の太さ(デフォルトの幅の倍数)を指定します. なお,linewidth は短縮して lw と書くことが可能です.

事前に設定したスタイルを使用した線分の変更

set style line コマンドで事前に設定したスタイルを使用して線分を変更するには linestyle オプションを使用します. なお,linestyle は短縮して ls と書くことが可能です.

gnuplot> # 線分を設定
gnuplot> set style line 1 lt 0 lw 1
gnuplot> # 矢先を変更
gnuplot> set style arrow 1 linetype 2 linewidth 3
gnuplot> set style arrow 2 ls 1
gnuplot> # 矢印を描画
gnuplot> set arrow 1 from -5,0 to 5,0 arrowstyle 1
gnuplot> set arrow 2 from 0,-5 to 0,5 arrowstyle 2
gnuplot> plot x

出力

グラフの矢先の線分を設定した結果

矢印がグラフの表側か裏側のどちらに表示されるかを変更する

矢印がグラフの表側か裏側のどちらに表示されるかを変更するには set style arrow コマンドを使用して front,back のいずれかを指定します.

オプション意味
front矢印をグラフの表側に表示する
back矢印をグラフの裏側に表示する

gnuplot> # 描画設定
gnuplot> set xrange[-1:1]
gnuplot> set yrange[-1:1]
gnuplot> set zeroaxis
gnuplot> # 矢印の表側/裏側を設定
gnuplot> set style arrow 1 back
gnuplot> set style arrow 2 front
gnuplot> # 矢印を描画
gnuplot> set arrow 1 from -0.5,0.5 to 0.5,0.5 arrowstyle 1
gnuplot> set arrow 2 from -0.5,-0.5 to 0.5,-0.5 arrowstyle 2
gnuplot> plot 1, 0.5, -0.5

出力

グラフの矢先の描画スタイルを設定した結果

矢印の描画スタイルを初期化する

set style arrow コマンドで設定した描画スタイルをデフォルトに戻すには unset style arrow コマンドを使用します.

書式

unset style arrow

矢印の描画スタイルの状態を表示する

矢印の描画スタイルがどのように設定されているかを確認するには show style arrow コマンドを使用します.

書式

show style arrow

gnuplot> set style arrow dots # 描画スタイルをdotsに変更
gnuplot> show style arrow

出力

arrows are plotted with dots