一幅图是由许多元素组成的。包括图标题,x轴标签,y轴标签,刻度线等。图1给出了各个元素的一个示意图。
![](https://box.kancloud.cn/2016-01-24_56a42343ac5aa.jpg)
这些所有的元素在scilab中都是可以用代码控制的。
### 标题
上个笔记上介绍了用xtitle()函数可以在图上添加标题。比如:
~~~
title("My Plot");
~~~
实际上,title函数有三种形式:
title(my_title)
title(my_title,<Property>)
title(<axes_handle>,<my_title>,<Property>)
上次只是用的最简单的形式,利用第二种形式就可以设置标题的字体、字号等属性了。下面给个例子:
~~~
x = 0:0.1:10;
plot(x, sin);
title("$f=sin(x)$","fontname","helvetica bold", "fontsize", 4, "color", "red");
~~~
![](https://box.kancloud.cn/2016-01-24_56a42343c69d9.jpg)
上面例子中,"$f=sin(x)$" 是 Latex 代码片段,scilab 支持基本的latex 数学模式,因此可以产生漂亮的标题。
后面设置了字体为helvetica bold, 字号大小为4,颜色为红色。除此之外还可以设置其他的参数,具体可以参阅帮助文档。
X 轴的Label 和y轴的Label 有两个独立的函数来设置。这两个函数的用法与 title 函数基本相同,下面举个例子:
~~~
x = linspace(-5,5,51);
y = 1 ./(1+x.^2);
plot(x,y,'o-b');
xlabel("$-5\le x\le 5$","fontsize",4,"color","red");
ylabel("$y(x)=\frac{1}{1+x^2}$","fontsize",4,"color","red");
title("Runge function (#Points ="+string(length(x))+").","color","red","fontsize",4);
~~~
![](https://box.kancloud.cn/2016-01-24_56a42343d5889.jpg)
另外,无论是标题还是Label,都可以是多行的,对上面的例子稍作修改。
~~~
xlabel(["$-5\le x\le 5$";"Second Line"],"fontsize",4,"color","red");
ylabel(["$y(x)=\frac{1}{1+x^2}$";"Second Line"],"fontsize",4,"color","red");
title(["Runge function (#Points ="+string(length(x))+").";"Second Line"],"color","red","fontsize",4);
~~~
![](https://box.kancloud.cn/2016-01-24_56a423440141a.jpg)
如果有多条曲线,就需要有个legend 来说明哪条曲线是什么。见下面的例子:
~~~
x = linspace(-5.5,5.5,51);
y = 1 ./(1+x.^2);
plot(x,y,'ro-');
plot(x,y.^2,'bs:');
xlabel(["x axis";"(independent variable)"],"fontsize", 4);
ylabel("y axis","fontsize", 4);
title("Functions","fontsize", 4);
legend(["Functions #1";"Functions #2"])
~~~
![](https://box.kancloud.cn/2016-01-24_56a423440f967.jpg)
Legend 的字体和字号不能像label 那样设置。实验后发现,legend 和刻度上的字共用一套控制命令:
~~~
xset("font size", 4);
~~~
![](https://box.kancloud.cn/2016-01-24_56a423442289e.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)