Scilab 的绘图函数(4)
最后更新于:2022-04-01 07:32:17
经常,我们需要将几幅图并列放置。这时可以用subplot()函数。
subplot(m,n,p) 表示将一个绘图窗口分成m行n列,当前在第p个子图上绘制。
下面是一个例子:
~~~
t = linspace(0,1,101);
y1 = exp(%i*t);
subplot(2,1,1);
plot(t,real(y1),'r');
xtitle("Real part");
subplot(2,1,2);
plot(t,imag(y1),'r');
xtitle("Image part");
~~~
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a4234494cad.jpg)
另一种常见的需求是我们希望同时能有多个图形窗口,每个窗口绘制不同的内容。
这时可以用 scf() 函数。
Scf 函数有三种基本的调用形式:
f = scf()
f = scf(h)
f = scf(num)
第一种方式不输入任何参数,这时scilab 自动生成一个新的空白窗口。然后我们就可以在这个空白窗口上绘图了。返回值是这个窗口的句柄,利用这个句柄可以设置这个窗口的各种属性。
第二种方式将句柄为h 的窗口设置为当前窗口,之后任何的绘图动作都是在这个窗口中操作的。
第三种是将窗口号为num的窗口设为当前窗口,如果没有这个窗口则新建一个。
如果我们想将某个窗口的内容清空,可以使用函数 clf(),它也有三种基本调用方法。
clf()
clf(h)
clf(num)
第一种是清空当前窗口。第二种是清空句柄为h 的窗口,第三种是清空窗口号为num 的窗口,第三个是清空窗口号为num的窗口。
下面是个非常简单的例子:
~~~
x = linspace(0, 2*%pi, 101);
scf(1);
clf(1);
plot(x,sin);
scf(2);
clf(2);
plot(x,cos);
~~~
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-24_56a42344a1fd8.jpg)