2013-02-02 37 views
2

嗯,這是我之前問題的延續。正如我所提到的,數據文件是從Fortran代碼生成的。所有的數據文件都包含兩列數據。在Fortran代碼中,我使用FORMAT(2(1X,D22.16))。因此,輸出文件看起來像在gnuplot中讀取外部數據文件

-.4515533388641104D-01 -.6842652196656712D+01 
-.1381692033642749D+00 0.6762844180244199D+01 
-.5741668880663318D-01 -.7891086299010933D+01 
-.1051164522902431D+00 0.7758389636011907D+01 
-.7574000988697732D-01 -.8180315630079706D+01 
-.7939204753736680D-01 0.8167097825331970D+01 
-.1003250672387262D+00 -.7865995561517515D+01 
-.6006135667296913D-01 0.7987393828927278D+01 
..................... ...................... 

這只是一個數據文件的一小部分示例。爲了繪製我用

plot "data001.out" u 1:2 w d lc rgb 'black' 

但是這個數據文件,gnuplot無法正確讀取數據,並生成該地塊

enter image description here

正確的情節,使用Mathematica程序,這是

enter image description here

我注意到,如果我改變FORMAT到(2(1X,F22.16))(以十進制形式),一切正常。爲什麼gnuplot無法讀取指數形式的數據?有沒有辦法告訴程序如何讀取這種類型的數據?

回答

5

從gnuplot的4.6手冊:

「的數據可以被寫入指數格式與由字母E或E的FORTRAN指數說明符d之前的指數,d,Q,和Q也可以,如果使用命令set datafile fortran生效。「

所以你應該在plot之前加上set datafile fortran

希望它有幫助!

+0

有什麼機會?這個問題在6個小時內沒有得到答覆,然後我們最終都在同一時間處理答案。奇怪的。 +1給你! – mgilson

+0

我想知道?很低! +1給你,我們給出了基本相同的答案! –

+0

是的 - 我真的很喜歡gnuplot upvotes,但我認爲你打了20秒左右,所以我會刪除我的答案,以確保您獲得讚譽。它看起來似乎公平。儘管我會在下一次得到你;-) *(也許)*。 – mgilson