Этот ответ уже принят, но я проделал еще кое-какую работу, которой хочу поделиться;в частности, я хотел иметь больший контроль над двумя подграфами, чем позволяет строка
set multiplot layout 2,1 margins 0.1,0.95,0.1,0.95 spacing 0
.Нижний подграф должен быть заметно «тоньше» верхнего.Пользуясь случаем, я также хотел ответить на вопрос Владимира в его комментарии.Итак, мы идем:
### set up multiplot so that the two subgraphs are joined
set multiplot
# we need to set a left margin to keep the subgraphs aligned,
# and we need enough space for the ylabel
set lmargin 10
# no bottom margin, so that the second subgraph touches the upper one
set bmargin 0
# no titles please
unset key
# but we want a ylabel
set ylabel "Scales"
# no xtics
unset xtics
Для Владимира: см. help set border
# we want left, top and right 2 + 4 + 8
# but no bottom border
set border 14
Теперь вручную исправьте область, в которой мы хотим нарисовать первый подграф:
set size 1,0.5 # full with, half hight
set origin 0,0.5 # start at the left border, half way up
# optional: colour background
# set object 1 rect from -2,0 to 2,80 fc rgb "yellow" fillstyle solid .15 noborder
Готов нарисовать график:
plot[-2:2][0:80] "so.dat" using 2:($3>0?$3:NaN)\
w points pt 7 ps 2
Остальное за один раз:
# we do want xtics a label at the bottom
set xtics -2,.5,2 nomirror
set xlabel "Multiplot In Action"
set ylabel "Different"
set size 1,0.3 # full width, 30% of height, keep space for xlabel
set origin 0,0.2 # left, keep bottom 20% free
set tmargin 0 # no top margin, touch the upper subgraph
set bmargin 2 # for the xlabel
set border 11 # we want left, bottom and right border, no top 1 + 2 + 8
# set object 2 rect from -2,-2 to 2,0 fc rgb "blue" fillstyle solid .15 noborder
plot[-2:2][-2:0] "so.dat" using 2:($3<0?$3:NaN)\
w points pt 5 ps 2
# cleanup
unset multiplot
reset
Это дает нам
Мне бы понравились цветные фоны, но нижний рисует точки в верхнем, и я не смог это исправить (back
не помогает).