座標軸に矢印を描く

Last modified: 2018 年 12 月 30 日 03 時

KETpicでは座標軸に矢印を付けることはそれほど重要視されていないようです。私も座標軸に矢印を付けるのは好みではないですが、どうしても付けないといけないときのためにメモを残します。

主な使用関数: Arrowline, Endpicture, function, Paramplot.

座標軸に矢印を描く

従来の座標軸の矢印

従来の座標軸の矢印 Endpicture(1)により、座標軸の描写をオンにします(1ではなく0にすると座標軸を描写しない)。このままだと、座標軸は描かれても矢印は描かれません。そこで、Setax('a')をオプションとして指定しましょう。

ただ、個人的にはこの矢印の形はあまり好みじゃないですね・・・

scilabファイル(.sce)のダウンロード
xmin=-1;
xmax=3;
ymin=-1/2;
ymax=3;
Setwindow([xmin,xmax], [ymin,ymax]);

function f=f(x)
  f=1/2*(x-1)+3/2;
endfunction

L1=Paramplot('[x, f(x)]', 'x=[xmin,xmax]', 'N=100');

//Windisp(L1);

Setax('a');
Openfile('tex/axis_sample2.tex');
Beginpicture('1cm');
Setpen(1);
Drwline(L1, 1.5);
Endpicture(1);
Closefile();

[このページのトップへ]

別の矢印

従来の座標軸の矢印 そこで、Endpicture(1)で座標軸を描画する代わりに、Arrowlineを使って矢印を描くようにします。自分にとっては、こちらのスタイルの方がbetter。Endpicture(0)として、座標軸を描くのをやめるのを忘れずに。

また、ベクトル場を描くでも書いたように、Arrowlineの構文はArrowline(始点,終点,矢じりの大きさ,矢じりの開き角(度数法),矢じりの位置,矢印の太さ,矢じりの形状と配置)です。

scilabファイル(.sce)のダウンロード
xmin=-1;
xmax=3;
ymin=-1/2;
ymax=3;
Setwindow([xmin,xmax], [ymin,ymax]);

function f=f(x)
  f=1/2*(x-1)+3/2;
endfunction

L1=Paramplot('[x, f(x)]', 'x=[xmin,xmax]', 'N=100');

//Windisp(L1);


Openfile('tex/axis_sample.tex');
Beginpicture('1cm');
Setpen(1);
Drwline(L1, 1.5);
Setpen(4);
Drwpt([1, 3/2]);

// axis
Arrowline([Xmin(),0], [Xmax(),0], 1, 25, 1, 1.5, 'l');
Arrowline([0,Ymin()], [0,Ymax()], 1, 25, 1, 1.5, 'l');
Expr([Xmax(),0], 'e', 'x');
Expr([0, Ymax()], 'n', 'y');
Expr([0, 0], 'sw', 'O');

Endpicture(0);
Closefile();

[このページのトップへ]