2013-07-28 138 views
2

我創建使用gnuplot的直方圖

binwidth=... 
bin(x,width)=width*floor(x/width) 

plot 'file' using (bin($1,binwidth) + binwidth/2):(1.0) smooth freq with boxes 

,而是因爲我的文件中有超過100多萬項,它從讀取並投入不同的垃圾桶,我不爲一些數據的直方圖,我在.dat文件不知道每個垃圾箱的準確頻率/密度是多少。我想知道這個頻率,或者讓它把頻率寫到一個文件中,有沒有人知道它的可能性? 我還想知道是否可以在y軸上繪製百分比來代替頻率,例如,如果我的頻率是50,000,我的總數是1,000,000,那麼在y軸上有百分比而不是實際頻率?

謝謝

回答

6

可以使用stats命令獲得的條目數。

stats 'file' 
binwidth=... 
bin(x,width)=width*floor(x/width) 

plot 'file' using (bin($1,binwidth) + binwidth/2):(1.0/STATS_records) smooth freq with boxes 

要繪製的百分比使用

plot 'file' using (bin($1,binwidth) + binwidth/2):(100.0/STATS_records) smooth freq with boxes 
+0

你救了我小時的工作時間!非常感謝!!具有類似人的問題 - - –

+0

我也通過在線閱讀(但它比你所提到的不太方便)想出了另一種解決方案 「文件名」 binwidth = ... 斌(X,寬度)=寬*設置表「hist.dat」 使用(bin($ 1,bw)+ bw/2)繪製fname1:(1.0)平滑頻率 未設置表 '設置表'允許所有信息關於要保存在文件中的直方圖,在本例中爲「hist.dat」 –