Вы можете определить диапазон x
, для которого в вашем диапазоне есть значения y
.Для этого вам понадобится два прохода: сначала сохраните xmin и xmax, затем построите график с правильным диапазоном.Это также работает с прерывистыми диапазонами:
#prepare some data to plot
set table "m.dat"
plot [0:10] x+3*sin(x)
unset table
#calculate x range
xmin=1e10
xmax=-1e10
add_this_x(x)=((x<xmin)?xmin=x:0,(x>xmax)?xmax=x:0,1/0)
plot "m.dat" u 1:(($2>=4&&$2<=6)?add_this_x($1):1/0)
# do the plot
plot [xmin:xmax] "m.dat" u 1:(($2>=4&&$2<=6)?$2:1/0) w lp