经常,我们需要将几幅图并列放置。这时可以用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://box.kancloud.cn/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://box.kancloud.cn/2016-01-24_56a42344a1fd8.jpg)
- 前言
- gnuplot 中的数据平滑
- 利用 Maxima 求解常微分方程
- Maxima 的绘图功能 1
- Maxima 的绘图功能 2
- Maxima 的绘图功能 3
- Maxima 矩阵及矢量运算 1
- Maxima 矩阵及矢量运算 3
- Maxima 矩阵及矢量运算 4
- maxima 学习笔记(coeff 函数的应用)
- maxima 代数表达式变换
- maxima 学习笔记(基本微积分)
- maxima 代数方程求解
- Maxima 中的复数运算
- Maxima 的三角函数化简功能
- Maxima 的基本微积分操作
- 利用 gnuplot 绘制时间序列图
- gnuplot 入门教程 1
- gnuplot 入门教程 2
- gnuplot 入门教程 3
- gnuplot 入门教程 4
- gnuplot 读取逗号分隔的数据文件
- scilab 读取处理 wav 文件
- scilab 读取处理 wav 文件 (2)
- Scilab 处理声音数据(补充)
- 利用 SCILAB 设计 FIR 滤波器(窗函数法)
- 利用 SCILAB 设计 FIR 滤波器(Minimax法)
- 利用 SCILAB 设计 iir 滤波器设计(模拟滤波器双线性变换法)
- Scilab 的绘图函数(1)
- Scilab 的绘图函数(2)
- Scilab 的绘图函数(3)
- Scilab 的绘图函数(4)