我有一个2D功能,我在sp(f,x)命令后打印出set table生成的多列数据。
gnuplot>f(x,y)=sin(x*y)
> set table "isocurve.dat"
> splot [-pi:pi] [-pi:pi] f(x,y)
表示isocurves的数据块由set table生成的Ascii文件中的一个空行分隔。
因此,数据文件只包含一个块。
问题是:是否可以将isocurves分隔两个空行,以便可以将它们作为数据块进行跟踪?
我发现它很有趣,因为这样可以使用stats命令获得各个isocurves的简单统计信息。举个例子:
set print 'max.dat'
do for [i=0:10]{
stats 'isocurve.dat' u 1:3 index i
print i,STAS_pos_max_y,STATS_max}
作为一种解决方法,可以通过awk管道isocurve.dat文件并获取空行。但我只想问gnuplot是否可以自己做。
答案 0 :(得分:1)
如果使用plot for ...
来模拟splot
,则迭代将保存为单独的数据块:
N = 21
set table 'table.dat'
plot for [i=0:(N-1)] f(x, i*pi*(2.0/N) - pi)
unset table
虽然这有效,但这不是我使用gnuplot的任务。