機能

Scilab使用例(4) -グラフ描画の基本-

  • 2020/09/01
  • WATANABE Tomoo
Scilab使用例(4) -グラフ描画の基本-

 色々なシチュエーションを想定し、使えそうなスクリプトをご紹介していきたいと思います。
 今回からは"グラフ描画"シリーズを複数回に渡ってご紹介していきます。今回は「描画の基本」です。

 グラフを作成する為には描画するデータが必要ですが、要素は行方向, 列方向どちらに並べておいても(描画する際に転置すれば良いので)問題ありません。きちんとx,y(,z)

<Example>
// グラフ描画用ウィンドウの新規作成
clf()
//ウィンドウを1行2列に分割した左側部分を選択
subplot(1,2,1);
x=[0:0.1:2*%pi]'; plot2d(sin(x));
//右側部分を選択
subplot(1,2,2);

x=[0:0.1:2*%pi]'; plot2d(x,sin(x));
Graph1

 
 

 Exampleのスクリプトを実行すると上のような2つのグラフが描画されますが、両者の違いはxとなる値を指定しているかどうかです。微妙なのでよく見ていただきたいのですが、1つ目のplot2dコマンドではオプションは'sin(x)'のみなのに対して2つ目は'x, sin(s)となっています。2つ目が(x, sin(x))をプロットしているのに対して、1つ目は(要素番号, sin(x))という風になってしまっていることです。(その為、x軸は1から始まっていることに注意してください。)この様に座標となる値をきちんと指定してあげてください。

<Example>
clf()
x=[0:0.1:2*%pi]';
subplot(1,4,1); plot2d(x,sin(x));
subplot(1,4,2); plot2d2(x,sin(x));
subplot(1,4,3); plot2d3(x,sin(x));
subplot(1,4,4); plot2d4(x,sin(x));
Graph2-1
 また、上のExampleは同じデータを用いていますが、コマンドが僅かに異なっています。
plot2d:指定した座標を直線で繋いでいく
plot2d2:次の点になるまで同じy座標となる階段状のカーブを描く
plot2d3:各点をx軸からの縦線で表現
plot2d4:plot2dと同じだが、点を矢印で繋いでいく
 という風に異なるコマンドを用いることにより見せ方の異なるグラフの描画も可能です。

 その他にも棒グラフ, 円グラフ, 散布図や等高線図など様々な種類のグラフが用意されていますので、順番に掘り下げた記事をあげていきたいと思います。