首页 > 代码库 > Scilab 的画图函数(2)

Scilab 的画图函数(2)

一幅图是由很多元素组成的。

包含图标题。x轴标签。y轴标签,刻度线等。图1给出了各个元素的一个示意图。

技术分享


这些全部的元素在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");

技术分享


上面样例中,"$f=sin(x)$" 是 Latex 代码片段,scilab 支持主要的latex 数学模式,因此能够产生美丽的标题。

后面设置了字体为helvetica bold, 字号大小为4。颜色为红色。

除此之外还能够设置其它的參数。详细能够參阅帮助文档。

 

轴的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);

技术分享


另外,不管是标题还是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);

技术分享


假设有多条曲线,就须要有个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"])

技术分享

Legend 的字体和字号不能像label 那样设置。

实验后发现,legend 和刻度上的字共用一套控制命令:

xset("font size", 4); 

技术分享

至此,这幅图就比較美丽了。

下次讲讲怎样在对数坐标系下画图。未完待续!


Scilab 的画图函数(2)