Gnuplot multiplot-在较大的画布上堆叠3个图形

Gnuplot multiplot-在较大的画布上堆叠3个图形,gnuplot,Gnuplot,我一直试图在画布上以2:3(宽高比)的比例将3个图形堆叠在一起,但都没有成功 当我像上面那样做的时候,我得到了下面显示的图,画布顶部有很多空白,3个多点图似乎相互重叠 任何类型的帮助或指针都将不胜感激。您也需要使用设置原点 set terminal postscript eps enhanced set output "data.eps" set size 1.0,1.5 set multiplot layout 3,1 set size 1.0,0.5 set origin 0,1 ..

我一直试图在画布上以2:3(宽高比)的比例将3个图形堆叠在一起,但都没有成功

当我像上面那样做的时候,我得到了下面显示的图,画布顶部有很多空白,3个多点图似乎相互重叠


任何类型的帮助或指针都将不胜感激。

您也需要使用
设置原点

set terminal postscript eps enhanced
set output "data.eps"

set size 1.0,1.5
set multiplot layout 3,1

set size 1.0,0.5
set origin 0,1
...
plot ...

set size 1.0,0.5
set origin 0,0.5
...
plot ...

set size 1.0,0.5
set origin 0,0
...
plot ...

unset multiplot

为了使用更大的画布,您必须在设置终端时使用
size
选项,例如:

set terminal postscript eps enhanced size 10cm,15cm
设置大小
只需更改相对于画布的打印大小。要看到这一点,请考虑

set terminal wxt
set size 1.0,1.5
plot sin(x)
部分情节消失,因为它相对于画布太高

在我看来,要以相同的高度堆叠三个地块,最好使用固定边距:

set terminal pngcairo size 600, 900
set output 'stacking.png'

set lmargin at screen 0.15
set rmargin at screen 0.95

TOP=0.98
DY = 0.29

set multiplot
set offset 0,0,graph 0.05, graph 0.05

set xlabel 'time'
set ylabel 'ylabel 1' offset 1
set tmargin at screen TOP-2*DY
set bmargin at screen TOP-3*DY
set ytics -1000,500,1000
plot 1150*cos(x) title 'First'

set xtics format ''
unset xlabel
set ylabel 'ylabel 2' offset 0
set tmargin at screen TOP-DY
set bmargin at screen TOP-2*DY
set ytics -100,50,100
plot 101*sin(x) title 'Second'

set ylabel 'ylabel 3' offset -1
set tmargin at screen TOP
set bmargin at screen TOP-DY
set ytics -8,4,8
plot 10*sin(2*x) title 'Third'

unset multiplot; set output
结果是(见4.6.3):

为了避免重叠
ytics
的标签,必须更改tic的绘制范围,例如,使用
设置ytics-100,50100
,将ytics置于
-100
100
之间,步骤为
50
。使用
set ytics rangelimited
无效

要增加打印曲线和边界之间的距离,请使用
设置偏移量
图形
坐标,如上述脚本中所述


我从最低的绘图开始,因为只有它有x个标签和一个
xlabel

这对我来说很有效!非常感谢!很抱歉,我无法尽快接受你的答案,但固定利润率似乎是一条出路。谢谢!:)
set terminal pngcairo size 600, 900
set output 'stacking.png'

set lmargin at screen 0.15
set rmargin at screen 0.95

TOP=0.98
DY = 0.29

set multiplot
set offset 0,0,graph 0.05, graph 0.05

set xlabel 'time'
set ylabel 'ylabel 1' offset 1
set tmargin at screen TOP-2*DY
set bmargin at screen TOP-3*DY
set ytics -1000,500,1000
plot 1150*cos(x) title 'First'

set xtics format ''
unset xlabel
set ylabel 'ylabel 2' offset 0
set tmargin at screen TOP-DY
set bmargin at screen TOP-2*DY
set ytics -100,50,100
plot 101*sin(x) title 'Second'

set ylabel 'ylabel 3' offset -1
set tmargin at screen TOP
set bmargin at screen TOP-DY
set ytics -8,4,8
plot 10*sin(2*x) title 'Third'

unset multiplot; set output