我们假设我的数据集是这样的:
0 0.3
1 0.12
2 0.4
3 0.6
4 0.9
...
10 0.23
11 0.6
...
20 0.34
21 0.4
...
并且我想仅在$1 % 10 == 0
时绘制两列的值,即(0,0.3), (10,0.23), (20,0.34)
等等......现在,我编写了以下条件脚本:
plot "data.csv" using 1:(int($1)%10==0?$2:0/0) title 'r=1' with linespoints linewidth 3 linecolor rgb 'blue'
问题是线条没有显示,只有点。
这是因为,对于不满足条件的所有行,相应的值是未定义的。无论如何,我需要的是完全不同的;我希望忽略这些特定值,而不是设置为undefined。有没有办法只使用gnuplot(不是awk等)?
答案 0 :(得分:3)
如果你有所有中间步骤,即数字的完整数据(基于你的轴标记为迭代可疑),你最好使用every
选项
plot "data.csv" every 10 with linespoints
否则,为简单起见,我会在脚本中使用awk
plot "<awk '$1%10==0' data8" with linespoints
可能与原始脚本一样,是显示了点,但值无穷大。这些线条未显示这一特征。