将gnuplot yrange设置为仅拟合一条曲线

将gnuplot yrange设置为仅拟合一条曲线,gnuplot,Gnuplot,我有一个Gnuplot脚本,它从一个数据文件中绘制两条曲线。如果我不指定yrange,Gnuplot将其设置为使两条曲线的所有点都适合于图形。在我的情况下,我希望Gnuplot只关注其中一条曲线(如果另一条曲线超出范围,则无关紧要,因为我只关注图形中第二条曲线接近第一条曲线的部分) 我可以找出第一条曲线的最小值和最大值,并手动将yrange设置为这些值,但我的Gnuplot脚本打算在许多数据文件上自动运行,生成许多yrange不相同的图形,因此我正在寻找一种自动实现的方法 谢谢根据使用的gnup

我有一个Gnuplot脚本,它从一个数据文件中绘制两条曲线。如果我不指定yrange,Gnuplot将其设置为使两条曲线的所有点都适合于图形。在我的情况下,我希望Gnuplot只关注其中一条曲线(如果另一条曲线超出范围,则无关紧要,因为我只关注图形中第二条曲线接近第一条曲线的部分)

我可以找出第一条曲线的最小值和最大值,并手动将yrange设置为这些值,但我的Gnuplot脚本打算在许多数据文件上自动运行,生成许多yrange不相同的图形,因此我正在寻找一种自动实现的方法


谢谢

根据使用的gnuplot版本,有不同的选项:

5.0版:

应从自动缩放中排除的数据文件将获得一个
noautoscale
参数:

plot 'first.dat' using 1:2, 'second.dat' using 1:2 noautoscale
版本>=4.6:

使用
stats
命令获取相关数据文件的最小值和最大值:

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
至少从4.0开始:

使用
set yrange[]writeback
保存绘图命令中的自动缩放范围,并使用
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