|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教一個gnuplot作圖的問題
我現在有一個數據文件, 共50行, 每行1000列
現在作圖以第一列為x坐標, 分別以其它列為y坐標
怎樣動態的顯示這個過程了。事實上那1000列分別
對應不同時刻的y軸數據。
多謝! |
請教一個gnuplot作圖的問題
講個思路
1. 需要一個用來設置諸如x y的range, label, 網格等等的gnuplot文件, 這個文件後面會用load讀取, 保證每幅圖在相同的環境裡完成. 假設叫pre-config
2. 一個expect腳本, 按下面的方始讀取命令行參數. 假設叫animplot.
[code]
animplot <datafile> <starting column> <ending column> <step> <pre-config> <plot-suffix>
[/code]
這個腳本可以這樣寫 (大意, 沒測試過):
[code]
#! /usr/bin/expect
# parse commandline parameters
...
set prompt {gnuplot>}
set timeout 0
spawn gnuplot
# load pre-config
expect $prompt send "load $preconfig\r"
# do the job
for {set i $col_start} {$i <= $col_end} {incr i $step} {
expect $prompt send "plot $datafile using 1:$i $plot-suffix\r"
}
# stay alive after the plot
interact +
[/code] |
請教一個gnuplot作圖的問題
galilette,真是高手阿,多謝多謝!
剛開始接觸gnuplot, 只會一些簡單的東西。
在你的代碼中我有些不明白:
1) expect是什麼腳本,什麼作用?
2) 在循環體中畫圖, 好像是每個圖中只有一條曲線? 如果是這樣的話, 就不好對比不同時刻的差別。 我想所有時刻的曲線都顯示在圖上。 |
請教一個gnuplot作圖的問題
expect是個基於tcl語法的工具, 基本就是用來和命令行程序互動的. 主頁是 expect.nist.gov
如果你想保留畫過的曲線, 把plot改成replot就可以. |
請教一個gnuplot作圖的問題
安裝expect不成功啊, 我在我的系統上找不到tclInt.h
不能通過gnuplot簡單的腳本實現嗎?
splot是否可以了 |
請教一個gnuplot作圖的問題
galilette 能寫一個 畫圖 模塊 嗎?
這樣對於 以第一列為x坐標, 分別以其它列為y坐標 的情況能基本實用。
包括添加標題 ,取x坐標,y坐標的範圍和間隔等。 |
請教一個gnuplot作圖的問題
數據文件上傳了 |
請教一個gnuplot作圖的問題
官方的faq有個關於生成動畫的Q&A:
http://www.gnuplot.info/faq/faq.html#SECTION00057000000000000000
提到的demo在這裡:
http://gnuplot.sourceforge.net/demo_4.1/animate.html
我原來也不知道gnuplot有個簡單的if命令 |
| |