2014-11-05 31 views
4

我使用的gnuplot的腳本gnuplot的給予警告:跳過數據文件,沒有有效點

#qe.conf 
set terminal png truecolor 
set output "qe.png" 
set xrange ["400" : "700"] 
set yrange ["0" : "1"] 
set style data lines 
plot "qe.txt" using 1:2 title "%Red", '' using 1:3 title "%G-r", '' using 1:4 title "%G-b", '' using 1:5 title "%R" 

我通過一個shell腳本 執行gnuplot的腳本qe.conf它給了我下面的錯誤

gnuplot>使用1:2標題「%Red」,使用1:3標題「%Gr」,使用1:4標題「%Gb」,「'使用1:2標題」plot「qe.txt」 1:5標題「%R」 ^ 第0行:警告:跳過數據'使用1:3標題 「%GR」, '標題2 「%紅」,':' 使用1:4的標題「,沒有有效點

gnuplot的>情節 」qe.txt「 使用1個文件%GB 「 '' 使用1:5標題 」%R「 ^ 線0:警告:跳過與沒有有效點

gnuplot的>標繪數據文件 」「 使用1:2的標題」 qe.txt%紅使用1:5標題「%R」使用1:4標題「%G」使用1:3標題 「%Gr」,「'''''''' 行0:警告:跳過數據文件沒有有效積分

gnuplot>使用1:2標題「%Red」使用1:3標題「plot」qe.txt「,使用1:3標題 」%Gr「,使用1:4標題」%Gb「 5標題爲「%R」 ^ 線0:警告:跳過與沒有有效點

但是,當我手動執行qe.conf,我工作得很好

數據文件是這裏的數據文件。

400.0 0.3625060772 
410.0 0.445987595886 
420.0 0.503862994331 
430.0 0.534251869841 
440.0 0.576047041939 
450.0 0.594211326218 
460.0 0.58079588866 
470.0 0.506666961836 
480.0 0.495652452097 
490.0 0.426107864611 
500.0 0.342632041157 
510.0 0.251232093174 
520.0 0.178015786221 
530.0 0.140803848655 
540.0 0.120063881639 
550.0 0.0995420648319 
560.0 0.080193952073 
570.0 0.0730989150532 
580.0 0.0708069989426 
590.0 0.0688014659014 
600.0 0.0597099385221 
610.0 0.0481330987744 
620.0 0.042010859344 
630.0 0.0425115579982 
640.0 0.0460125024438 
650.0 0.0515227545961 
660.0 0.0559745367996 
670.0 0.0629981328342 
680.0 0.0573046109671 
690.0 0.0688715871636 
700.0 0.0742304568215 

`

任何人都可以提出一個解決辦法?

大家好,經過幾個小時的嘗試,我仍然沒有答案。 我試了下面的東西。我嘗試給數據文件,gnuscript和shell腳本的絕對路徑。 如果從linux命令提示符運行,但通過shell腳本運行時出現此錯誤,命令gnuplot qe.conf可以正常工作。

線10:警告:跳過與沒有有效點

請求幫助數據文件。

+1

檢查gnuplot的當前工作目錄是否是您期望的(在腳本中插入'pwd'以檢查此目錄)。 – Christoph 2014-11-05 21:24:43

+0

@Christoph文本文件,配置文件和shell腳本的位置都是一樣的 – kate 2014-11-05 21:30:55

+0

請檢查此。你怎麼調用shell腳本和gnuplot配置文件?它必須是這種類型的東西,否則劇本似乎工作。 – Christoph 2014-11-05 21:43:01

回答

2

您也可以嘗試在您的數據文件上檢查編碼

我剛剛遇到這個確切的問題,以及試圖繪製數據文件時。事實證明,Gnuplot由於其編碼(UTF-16LE)而無法理解數據文件。

當我將文件的編碼更改爲UTF-8時,Gnuplot能夠毫無問題地讀取它。

由於這篇文章已經有點老了,你可能已經設法解決它。雖然我只是認爲它可以幫助其他人也解決這個問題。

1

這裏的問題是,您正在嘗試繪製兩列數據集的第3,4,5列。如果您更改繪圖命令以刪除使用1:3或更高版本的所有內容,則它應該可以正常工作。錯誤消息告訴你數據文件真的是空的(在更高的列中)。

+0

根據評論(倒數第二),腳本也僅在使用1:2 – Christoph 2015-03-17 13:11:45

2

我每次嘗試繪製.csv(逗號分隔變量)文件時都會收到此錯誤,我忘記了有時需要提醒gnuplot分隔符是什麼。通常我會得到與您提到的相同的錯誤,有時我會得到任何錯誤,但無論如何,直到分隔符被正確定義,纔會繪製數據。

gnuplot默認爲空格作爲分隔符,但也許你會覆蓋它並將其設置爲逗號或其他內容。試着告訴gnuplot你的分隔符是什麼。

set datafile separator " "

set datafile separator whitespace

,然後課程逗號的嘗試","和標籤會嘗試"\t"

我覺得最好把把set datafile separator " "到頂部我腳本,提醒自己。

+0

進行繪圖時失敗,我遇到了同樣的問題,這解決了我的錯誤。 – cjm 2016-08-23 03:13:16

1

最近,我有使用Gnuplot 5.0.4相同的問題。正如Aendur所說,編碼可能會有問題。對我來說固定的是,使用TextWrangler將換行符(在我的情況下從「Mac Classic(CR)」更改爲「Unix(LF)」),而不必將文件的編碼更改爲UTF -8。