Как изменить масштаб оси x, ограничивая значение оси y с помощью gnuplot? - PullRequest
0 голосов
/ 25 октября 2018

Я строю графики следующим образом:

$ gnuplot -persist -e 'plot "m.dat" u 1:(($2>=4&&$2<=6)?$2:1/0) with line'
$ cat m.dat
1 2
2 3
3 4
4 5
5 6
6 7
7 8
9 10

Вы можете видеть, что ось Y хорошо масштабирована, но ось X не масштабируется.Как мне сделать масштабирование по оси X тоже?

enter image description here

1 Ответ

0 голосов
/ 25 октября 2018

Вы можете определить диапазон 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
...