GNU plots_根据给定的一组值绘制其出现次数的直方图

GNU plots_根据给定的一组值绘制其出现次数的直方图

我们如何绘制包含所有数据的 csv 文件中的直方图并将其放到一列中。我需要绘制这些值与它们重复的次数的关系图。

答案1

在 gnuplot 中,有一个广泛使用的技巧来构建直方图。如果你的数据在文件中mydata.csv,你可以尝试类似

binwidth=1                          # here you can set the bin width 
bin(x,width)=width*floor(x/width)   # here the binning function
plot "mydata.csv" using (bin($1,binwidth)):(1.0) smooth freq with boxes

因此,您正在构建直方图,选择箱宽。
以更精细的方式,您可以尝试以下方法正如这里所建议的那样

Min = 1.0  # where binning starts
Max = 12.0 # where binning ends
n = 11 # the number of bins
width = (Max-Min)/n # binwidth is evaluates to 1.0
bin(x,width) = width*(floor((x-Min)/width)+0.5) + Min
plot "mydata.csv" using (bin($1,width)):(1.0) smooth freq with boxes

相关内容