我需要使用gnuplot绘制2个colums的数据文件,散点图是我需要的。我对gnuplot的理解是:
plot "first_click" using 2:1
我的数据的头部和尾部有3行如下:
1 612856
3 3840538
5 5240597
.
.
.
139845 1
141101 1
141584 1
我期待我的散点图显示对数趋势,但我的数据(大多数数据)有大量的异常值。所以我需要做两件事之一:
!column1 > x && ! column2 == 1
精确度不是问题。
在这个阶段我更喜欢1和2,但是我想看看选项3是否可行,因为我是程序员而不是统计学家。
答案 0 :(得分:3)
您也可以尝试
plot "first_click" using 2:1 smooth bezier with lines
这具有不显示大多数异常值的副作用。
答案 1 :(得分:1)
gnuplot
应自动缩放以适合所绘制的数据(如果没有,您可以使用reset yrange, xrange
再次自动缩放)。如果在绘图之前修剪异常值,那么您的第一个要求就已经满足了。
通过修改plot命令可以实现第二和第三:
plot "first_click" using ($2 != 1 ? $2 : 1/0):($1 < x ? $1 : 1/0)
仅绘制第二列不等于1且第一列小于x
的值。其中x
是您要开始修剪异常值的值。 1/0
是一种告诉gnuplot
该点无效且不会被绘制的方式。