我有一个Gnuplot脚本,可以从数据文件中绘制2条曲线。如果我没有指定yrange,Gnuplot会设置它,以便两条曲线的所有点都适合图中。在我的情况下,我希望Gnuplot只关心其中一条曲线(如果另一条曲线超出范围则无关紧要,因为我只对第二条曲线接近第一曲线的图形部分感兴趣)。
我可以找出第一条曲线所取的最小值和最大值,并手动将yrange设置为这些值,但我的Gnuplot脚本会在许多数据文件上自动运行,产生许多yrange不同的数字,所以我正在寻找一种自动完成的方法。
由于
答案 0 :(得分:2)
根据使用的gnuplot版本,有不同的选项:
版本5.0:
应从自动缩放中排除的数据文件将获得plot 'first.dat' using 1:2, 'second.dat' using 1:2 noautoscale
参数:
stats
版本> = 4.6:
使用stats 'first.dat' using 1:2
set yrange [STATS_min_y:STATS_max_y]
plot 'first.dat' using 1:2, 'second.dat' using 1:2
命令获取相关数据文件的最小值和最大值:
set yrange [] writeback
至少从4.0开始:
使用set yrange restore
保存绘图命令和set terminal push
set terminal unknown
set yrange [] writeback
plot 'first.dat' using 1:2
set yrange restore
set terminal pop
plot 'first.dat' using 1:2, 'second.dat' using 1:2
中的自动缩放范围,以便将它们用于以后的绘图:
struct test { ... };