2013-04-30 67 views
0

我無法描述情節是怎麼樣的,所以我只是使用「奇怪」,因爲我不知道爲什麼gnuplot給了我這樣的情節。這是我想要做的事情。gnuplot給我奇怪的情節外觀

我有一個數據文件有兩列,第一列是文件名,第二列是每個文件的大小。每列超過200萬行。我只想繪製文件大小的分佈。這裏是我的代碼

set terminal postscript landscape enhanced mono dashed lw 2 "Times" 18 
outputfile = "sizedist.ps" 
set output outputfile 

binwidth = 0.05 
bin(x,width)=width*floor(x/width) 
plot [0:3.5][]'sizedist.out' using (bin(log10($2/1024),binwidth)):(1.0) smooth freq with boxes t "Binsize=0.05 dex" 

set terminal x11 

理想的情況下,它應該是一個類似高斯柱狀圖中,但它具有許多其他情節過度奠定(見我的執着)。任何gnuplot專家都知道爲什麼會發生這種情況? enter image description here

回答

1

如果頻率圖中的某些數據沒有明確定義的值(如NaN,inf等),就會發生這種情況。

由於您在圖中使用了對數函數,因此您必須小心數值爲< = 0的數據。我想你有大小= 0的文件。在這種情況下,log10只會給你NaN,這會擾亂頻率圖的計數過程。

給你的情節添加一個條件來解決這個問題。例如:

plot [0:3.5][]'sizedist.out' using ($2>0?bin(log10($2/1024),binwidth):0):(1.0) smooth freq with boxes t "Binsize=0.05 dex" 
+0

我是愚蠢的!好答案!這正是問題所在!非常感謝你! – fanchyna 2013-05-01 15:17:39