2014-10-31 91 views
-1

我想在同一個圖中用gnuplot繪製包含在不同目錄中的一系列數據。使用gnuplot從多個文件繪製曲線

我有一個名爲「Ntimestep = X」(其中X可以是例如100,200,400等)的文件夾集合。在這個文件夾裏面我有一個文件occ.dat,其中包含我想要繪製的數據,比方說3列(第一個x點,第二個和第三個y點)。 我想讓我的gnuplot腳本自動檢測時間「Ntimestep = X」的所有文件夾,並在我的圖中添加包含在文件「Ntimestep = X/occ.dat」中的數據。

我還希望數字X出現在圖的圖例中。

+0

你的問題還不太清楚。請給出幾個示例文件夾名稱和文件名,以及您的數據和繪圖命令的示例。 – 2014-10-31 15:57:11

回答

3

Gnuplot本身不能創建這樣的文件列表,但你可以調用一些命令行工具或第二個腳本創建這樣的列表,然後可以由gnuplot使用。

因此,像

list = system('ls Ntimestep=*/occ.dat') 
plot for [file in list] file 

在Windows類似list = system('dir /b *.txt')應該工作,看到Script Gnuplot on windows OS(我不能測試它)。

要獲得稱號的數量,只使用GNUPLOT可以使用

t(s) = (s2 = s[11:*], s2[0:strlen(s2)-8]) 
plot for [file in list] file title t(file) 

要關於字符串格式更靈活,你將再次需要使用外部工具(如管ls輸出通過sed)。