一幅圖是由許多元素組成的。包括圖標題,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,顏色為紅色。除此之外還可以設置其他的參數,具體可以參閱幫助文檔。
?
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);
~~~

另外,無論是標題還是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);
~~~

至此,這幅圖就比較漂亮了。
下次講講如何在對數坐標系下繪圖。未完待續!
- 前言
- 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)