File 为什么';设置表格';Gnuplot中的选项是否重新写入最后一行中的第一个条目?

File 为什么';设置表格';Gnuplot中的选项是否重新写入最后一行中的第一个条目?,file,gnuplot,histogram,File,Gnuplot,Histogram,我试图从我拥有的一些数据中创建一个直方图,只是为了了解频率和垃圾箱等,我设置了一个表格,这样就不用绘制它,而是将有关直方图的信息放在一个特定的文件中。例如,如果我的数据是 11 12 11 11 15 12 10 然后我得到了类似于 10 1 11 3 12 2 15 1 其中第二列给出了每个条目的频率。 但我注意到,当gnuplot创建这个文件时,并没有得到我得到的高于我得到的 10 1 11 3 12 2 15 1 10 1 i、 e.在表格末尾再次重复第一个条目。如果我只想绘

我试图从我拥有的一些数据中创建一个直方图,只是为了了解频率和垃圾箱等,我设置了一个表格,这样就不用绘制它,而是将有关直方图的信息放在一个特定的文件中。例如,如果我的数据是

11
12 
11
11
15
12
10
然后我得到了类似于

10 1
11 3
12 2 
15 1 
其中第二列给出了每个条目的频率。 但我注意到,当gnuplot创建这个文件时,并没有得到我得到的高于我得到的

10 1
11 3
12 2 
15 1
10 1
i、 e.在表格末尾再次重复第一个条目。如果我只想绘制直方图,也就是这个文件,很好,没问题。但我需要做的是在logscale中绘制频率,如果我没有纠正这一点,即每次手动加载文件,然后去掉最后一行,这将绘制一个奇点,远离我数据的其余趋势。。我想知道为什么会发生这种情况,如果有任何方法可以关闭它? 我使用的代码如下所示:

set table 'tableavalanchesizeGSA'
bw = 50.0
bin(x,s)=s*int(x/s)
plot 'avalanche_size_GSA.dat' using (bin($1,bw)+bw/2.0):(1.0/2048000) smooth frequency    with points
unset table
set logscale y
plot 'tableavalanchesizeGSA' with points title ''
有人知道为什么会这样吗?如果有自动关闭的方法

这种行为是一种危险的行为。为了避免此错误,您可以在写入输出文件之前通过
head
管道将表输出:

set output "| head -n -2 > tableavalanchesizeGSA"
set table
bw = 50.0
bin(x,s)=s*int(x/s)
plot 'avalanche_size_GSA.dat' using (bin($1,bw)+bw/2.0):(1.0/2048000) smooth frequency with points
unset table
您必须跳过最后两行,因为gnuplot在末尾写一个空行。另外,您必须使用
设置输出
明确地说,当使用
设置表“| head…”设置输出时,管道似乎不起作用

此行为是错误的。为了避免此错误,您可以在写入输出文件之前通过
head
管道将表输出:

set output "| head -n -2 > tableavalanchesizeGSA"
set table
bw = 50.0
bin(x,s)=s*int(x/s)
plot 'avalanche_size_GSA.dat' using (bin($1,bw)+bw/2.0):(1.0/2048000) smooth frequency with points
unset table

您必须跳过最后两行,因为gnuplot在末尾写一个空行。另外,您必须使用
设置输出
明确地说,当使用
设置表“| head…”
设置输出时,管道似乎不起作用。噢,谢谢!谢谢你的解释,我正考虑以某种方式删除最后一行,但不知道怎么做。谢谢:)哦,谢谢你!谢谢你的解释,我正考虑以某种方式删除最后一行,但不知道怎么做。谢谢:)