大名鼎鼎的?gnuplot?就不多介紹了。
通常我們利用數據文件繪圖時,XY坐標的值都是實數,也就是我們要繪制圖形的函數是R到R的映射。可有時橫軸或縱軸的數據是時間值,時間的格式每次可能還都不太一樣。這時我們就需要特殊設置一下?gnuplot了。
假設我們有數據文件“timedat.dat”,文件的內容如下。
~~~
#日/月/年 值
01/06/93 100
17/08/93 900
04/10/93 1300
11/10/93 300
28/10/93 1000
~~~
可以看到,橫坐標是時間值,需要將這個信息告訴gnuplot。利用如下的命令。?
~~~
set xdata time
~~~
類似的命令還包括:
~~~
set ydata time
set zdata time
set x2data time
set y2data time
set cbdata time
~~~
如果要回到原來的那種橫坐標為數值的狀態,可以執行如下命令:
~~~
set xdata
~~~
下面還需要告訴?gnuplot?數據文件中的時間格式是什么樣,要利用如下的命令
~~~
set timefmt "<format string>"
~~~
其中format?string?用來描述數據文件中時間的格式。對于我們的數據文件,可以這樣設置:
~~~
set timefmt "%d/%m/%y"
~~~
Gnuplot?支持的格式如下:
<table align="center"><tbody><tr><td valign="top"><p>格式</p></td><td valign="top"><p>解釋</p></td></tr><tr><td valign="top"><p>%d</p></td><td valign="top"><p>day?of?the?month,?1<span style="font-family:宋體">–</span><span style="font-family:Times New Roman">31</span></p></td></tr><tr><td valign="top"><p>%m</p></td><td valign="top"><p>month?of?the?year,?1<span style="font-family:宋體">–</span><span style="font-family:Times New Roman">12?</span></p></td></tr><tr><td valign="top"><p>%y</p></td><td valign="top"><p>year,?0<span style="font-family:宋體">–</span><span style="font-family:Times New Roman">99</span></p></td></tr><tr><td valign="top"><p>%Y</p></td><td valign="top"><p>year,?4-digit</p></td></tr><tr><td valign="top"><p>%j</p></td><td valign="top"><p>day?of?the?year,?1<span style="font-family:宋體">–</span><span style="font-family:Times New Roman">365</span></p></td></tr><tr><td valign="top"><p>%H</p></td><td valign="top"><p>hour,?0<span style="font-family:宋體">–</span><span style="font-family:Times New Roman">24</span></p></td></tr><tr><td valign="top"><p>%M</p></td><td valign="top"><p>minute,?0<span style="font-family:宋體">–</span><span style="font-family:Times New Roman">60</span></p></td></tr><tr><td valign="top"><p>%s?</p></td><td valign="top"><p>seconds?since?the?Unix?epoch?(1970-01-01?00:00?UTC)</p></td></tr><tr><td valign="top"><p>%S</p></td><td valign="top"><p>second,?integer?0<span style="font-family:宋體">–</span><span style="font-family:Times New Roman">60?on?output,?(double)?on?input</span></p></td></tr><tr><td valign="top"><p>%b</p></td><td valign="top"><p>three-character?abbreviation?of?the?name?of?the?month</p></td></tr><tr><td valign="top"><p>%B</p></td><td valign="top"><p>name?of?the?month</p></td></tr></tbody></table>
?到這里就設置好了,下面開始顯示
~~~
plot 'timedat.dat' using 1:2 with points ps 3 pt 6 title ""
~~~
輸出的圖形如下。??

可以看到輸出的橫坐標只有月份和日期,沒有年份信息。如果需要加入年份信息,可以這樣設置:
~~~
set format x "%y/%m/%d"
~~~
然后更新一下輸出:
~~~
Replot
~~~

這時的輸出結果就滿足我們的需求了。如果需要更細致的設置,請參考 gnuplot 的幫助文件。
- 前言
- 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)