next up previous contents index
次へ: 7 関数 上へ: Scilab 入門 戻る: 5 プログラミング   目次   索引

Subsections


6 グラフィックス

Scilab は作図のため数多くのコマンドがあり,そのため使いづらい面もあっ た.Scilab 3.1 以降では matlab \textregisteredの作図コマンドと似た コマンドが導入されるとともに GUI で図を編集できることになり,より使い 易い環境を提供している.ここでは,二次元プロット用の関数 plot を中心に説明を行う.

6.1 二次元プロット

plotで基本的な二次元の図を作成することが できる.plotの書式は
  plot(y,<LineSpec>,<GlobalProperty>) 
  plot(x,y,<LineSpec>,<GlobalProperty>) 
  plot(x1,y1,<LineSpec1>,xN,yN,<LineSpecN>,<GlobalProperty1>,..<GlobalPropertyN>)
である.<LineSpec>,<GlobalProperty> はオプションである. x,y ともに実数ベクトルあるいは実数行列である.

y がベクトル(行列)のとき plot(y)1:size(y,'*') に対する y の(各列ベクトルの)値をプロットする.

-->y=0:2:10;
-->plot(y);
とすれば図 7が描画される.
図 7:
\scalebox{1.0}{\includegraphics{figure/graph1}}

作図した図をclfで消去しなければ, 次の図が上書きされる.

-->clf()
8は以下を実行した結果を示している.
-->plot(eye(3,3))
図 8:
\scalebox{1.0}{\includegraphics{figure/graph2}}

x と y がベクトル(行列)のとき x の(列の)要素に対応する y の(列の)要素 をプロットする.このときx と yは同じ行数を持っていなければならない. 図 9はつぎを実行して得られた図である.

-->x=[0:0.1:2*%pi]';
 
-->clf()
 
-->plot(x,sin(x))
図 9:
\scalebox{0.5}{\includegraphics{figure/graph3}}

6.1.1 LineSpec

オプションLineSpecによりプロットの線の種類,色,マークの形状を指定する ことができる.表7,表8,表9 にそれぞれの識別子をまとめている.指定したい3つの識別子を組合せ,クォー テーションでまとめる.なお,識別子の順序は任意である. つぎのように '--r*' とすれば,赤い破線で*つきのグラフと なる(図 10).
-->clf()
 
-->plot(x,sin(x),'--ro')


表 7: 線の種類
識別子 線の種類
-  
-- 破線
: 点線
-. 破点線



表 8: 色の種類
識別子
r
g
b
c シアン
m マジェンタ
y 黄色
k
w



表 9: マーカの種類
識別子
+ +
o $ \circ$
* *
. .
x x
s $ \square$
d $ \lozenge$
^ $ \vartriangle$
v $ \triangledown$
> $ \vartriangleright$
< $ \vartriangleleft$
p $ \star$


図 10:
\scalebox{1.0}{\includegraphics{figure/graph31}}

図 11:
\scalebox{0.5}{\includegraphics{figure/graph4}}

6.1.2 タイトルと凡例

xtitle
  xtitle('図のタイトル','X 軸のタイトル','Y 軸のタイトル')
とすることで,図のタイトル,X 軸のタイトル,Y 軸のタイトルを描くことが できる.

凡例はlegend

  legend(['文字列 1';...;'文字列 N'],位置)
で描くことができる.ここで$ n$ 番目の文字列は$ n$ 番目に描かれた曲線に対 応している.凡例の出力位置は1から5までの数字で指定する. 表10に数値と位置の対応関係を示している.

表 10: 凡例の位置
数値 位置
1 右上 (デフォルト)
2 左上
3 左下
4 右下
5 マウスで任意の位置を指定


タイトルと凡例を付加するプログラム例を以下に示す.

-->clf();
 
-->t=0:%pi/20:2*%pi;
 
-->plot(t,sin(t),'ro-.',t,cos(t),'b+',t,abs(sin(t)),'--mo');
 
-->xtitle('Figure','Time', 'Amplitude');
 
-->legend(['sin(t)';'cos(t)';'|sin(t)|'],3);


6.1.3 GUIグラフィックエディタ

グラフはオブジェクトとして構成されておりオブジェクトの各要素をコマンド ラインで指定することで,グラフの体裁を変更することができる. また,Scilab 3.1 以降では,グラフの属性をGUIで修正・変更することができ る.

12のグラフィックウィンドウにおいて, Edit の Figure Properties を選択すると図13の ような画面が現われ,変更したい項目を選ぶことができる.

図 12:
\scalebox{0.8}{\includegraphics{picture/guigraph1}}

この例では,Axes(2)を選択すると図 13のウィンドウが出 てくる.X Axis では,Label 名,Visibility (表示の有無),Color (色), Size (文字のサイズ),Font style 等が変更できる.

GUIグラフィックエディタを用いて図 11のタイトルを 修正したものが図 15である.

図 13:
\scalebox{0.6}{\includegraphics{picture/guigraph2}}

図 14:
\scalebox{0.6}{\includegraphics{picture/guigraph3}}

図 15:
\scalebox{0.5}{\includegraphics{figure/graph5}}

6.1.4 図の出力

グラフィックウィンドウの File を選択すると, Clear,Select,Print,Export,Save,Load,Close の項目がある (図 16). Clear は図を消去するのに対し,Close はグラフィックウィンドウを閉じる.

Print は(プリンタが適切に設定されていれば)図をプリンタに出力する.

Export は図を PostScript形式や Xfig 形式で出力する. Exportを選択すると図 16のようにウィンドウが出る. LATEXファイルに図を貼り付けたい場合は,Postscript-Latex を選択し, Type,Orientation,Fileneme を設定し Ok を選択する. なお,出力されたファイルの拡張子は eps である.

Save は図(の作成手順)をScilab の特殊形式のファイルにセーブする. セーブしたファイルを Load すると,セーブされた図が再描画される.

図 16:
\scalebox{0.6}{\includegraphics{picture/guigraph4}}


next up previous contents index
次へ: 7 関数 上へ: Scilab 入門 戻る: 5 プログラミング   目次   索引
SHUICHI OHNO 平成17年9月4日