我正在使用gnuplot 4.6
。另外,我知道在一年多前提出了一個類似的問題here。答案就是寫一個小的bash
腳本。我想知道是否可以從gnuplot
腳本中實現此目的,特別是當gnuplot-4.6
添加了很多很酷的功能時。我想實現這樣的事情:跳過Gnuplot中的空文件
set xrange[xL:xU]
set yrange[yL:yU]
plot "file1.dat" using 1:2 w l lt 1 lw 1 lc 3,\
"file2.dat" using 1:2 w l lt 1 lw 1 lc 3
我重複上述方法在迴路和xrange
& yrange
參數在每次迭代更新。另外,我將每次迭代的輸出保存爲一些圖像文件。現在,file2.dat
保證在所有迭代中都有一些點。但這不是file1.dat
。因此,我想gnuplot
跳過繪製file1.dat
以防萬一它爲空。請注意,如果從file1.dat
沒有繪製點數,那麼對我而言完全沒問題。
這可以使用if
語句輕鬆實現,前提是gnuplot
中有一些命令用於檢測文件是否沒有點,而不嘗試繪製它。在這種情況下,上面的代碼會是這個樣子:
set xrange[xL:xU]
set yrange[yL:yU]
if ("file.dat" not empty){
plot "file1.dat" using 1:2 w l lt 1 lw 1 lc 3,\
"file2.dat" using 1:2 w l lt 1 lw 1 lc 3
}else {
plot "file2.dat" using 1:2 w l lt 1 lw 1 lc 3
}
請幫我制定上述if
聲明'condition'
。
感謝&乾杯
阿比納夫
如果文件存在,仍然無法使用僅限gnuplot的方法進行檢查。你需要一些輔助腳本來做到這一點。但爲什麼它是一個問題?情節命令會發出警告,並說明它。 – Christoph
這是一個問題,因爲即使一個文件沒有範圍內的點,我仍然想繪製其他文件,它具有範圍內的點。 – Abhinav
你是對的!我認爲'plot'命令只會跳過丟失的文件,但它不會。 – Christoph