2013-04-30 72 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