【问题标题】:Comparative histogram of two data files, one with frequency, the other with boxes两个数据文件的比较直方图,一个带有频率,另一个带有框
【发布时间】:2014-04-19 20:57:50
【问题描述】:

我有两组数据,旨在从中制作比较直方图。然而,一个是两列数据,x 及其频率,第二个是单列未排序数据,gnuplot 应该导出频率。我想要一个连续的直方图,但是我在网上找到的任何东西都有差距。

我应该怎么做?

我尝试使用以下脚本

binwidth=5 
bin(x,width)=width*floor(x/width) 
plot'data1.txt' with boxes, 'data2.txt' using (bin($1,binwidth)):(1.0) smooth freq with boxes

与数据文件data1.txt:

1 3    
5 1    
7 1    

和第二个数据文件data2.txt

1    
1    
1    
5    
7    

这并没有给出预期的结果。

【问题讨论】:

  • 请不要将您的问题用于某种对话。可以扩展它,但是在您上次编辑时,您几乎删除了所有实际内容。我试图编辑问题,以便获得所有必要的信息:数据文件和脚本。
  • 现在您只需解释“不起作用”是什么意思。也许您只有错误的范围设置。在脚本之前添加行 set yrange [0:*]; set offset 1,1,1,0;。我得到结果i.stack.imgur.com/Ny0Gy.png 意思是连续的,盒子有不同的宽度,所以它们之间没有间隙。如果你的意思是别的,你必须更精确(一个示例图像......)。

标签: gnuplot histogram


【解决方案1】:

使用smooth frequency选项,使x中的数据单调;具有相同 x 值的点被替换为具有总和 y 值的单个点。因此,如果您将第一列用作 x 值并将 1 用作 y 值,您将得到计数:

plot 'secondfile.dat' using 1:(1) smooth frequency with linespoints

绘图风格几乎独立于绘图风格,因此您可以使用点、线、框等。

【讨论】:

    猜你喜欢
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多