绘制数据点但跳过错误栏以输入无效错误

时间:2014-06-15 23:43:40

标签: gnuplot

我有一个包含三列的数据文件:一个独立变量,x,一个因变量,y,以及y,dy中的错误。要绘制我的数据,我使用命令

plot "File.txt"  u 1:2:3 w yerrorbars

在特定x值之上,dy的所有条目都是NaN。这本身是可以的,因为用于计算dy的公式会中断。但是,从图中排除了相应的数据点(x,y),其中有效条目。

如何避免这种情况,也就是说,如何使用错误栏将数据绘制到dy条目为正确值的点,并继续绘制数据而不用错误结束超出这一点?

当然,我可以通过制作两个不同的图表来手动解决它,但我想避免这种繁琐的工作。

以下是一些虚假数据来说明这一点:

0,000000 0,000000 3,162278   
1,000000 2,000000 2,828427   
2,000000 4,000000 2,449490   
3,000000 6,000000 2,000000   
4,000000 8,000000 1,414214   
5,000000 10,000000 0,000000   
6,000000 12,000000 NaN   
7,000000 14,000000 NaN   
8,000000 16,000000 NaN   
9,000000 18,000000 NaN   

提前致谢!

2 个答案:

答案 0 :(得分:2)

这个怎么样:

plot "stats1.dat" u 1:2:($3!=NaN?$3:1/0) w yerrorbars title "My title", '' u 1:(stringcolumn(3) eq "NaN"?$2:1/0) w points pt 1 lc rgb "red" notitle

给我以下内容:

enter image description here

答案 1 :(得分:2)

即将推出的5.0版本允许使用单个绘图命令:

plot 'stats1.dat' u 1:2:($3 == NaN ? -1 : $3) w yerrorbars

这很有效,因为忽略了负误差条,并且NaN的处理得到了改善。