如何在gnuplot multiplot中增加外部边距以适应更大的标题字体?

如何在gnuplot multiplot中增加外部边距以适应更大的标题字体?,gnuplot,Gnuplot,我有一个multiplot,我想增加标题的字体大小 当我尝试时: #!/usr/bin/env gnuplot set terminal png size 1024, 1024 set output 'tmp.png' set multiplot layout 2,2 title "Asdf Qwer" font ",30" plot sin(x) plot cos(x) plot exp(x) plot exp(-x) 标题变得太大并被截断: 我试着用tmargin增加上边距(这里是一个夸

我有一个multiplot,我想增加标题的字体大小

当我尝试时:

#!/usr/bin/env gnuplot
set terminal png size 1024, 1024
set output 'tmp.png'
set multiplot layout 2,2 title "Asdf Qwer" font ",30"
plot sin(x)
plot cos(x)
plot exp(x)
plot exp(-x)
标题变得太大并被截断:

我试着用
tmargin
增加上边距(这里是一个夸张的值,以供演示):

但这只会增加每个地块上方的内部边距,顶部标题仍然被截断:


在gnuplot 5.2 patchlevel 6,Ubuntu19.04中进行了测试。

显然,计算标题的空间有问题。因此,一种可能是手动设置边距并将标题添加为标签

代码:

### multiplot title with enough space
reset session

set multiplot layout 2,2 margin 0.1,0.95,0.1,0.85 spacing 0.1,0.1
set label 1 "Asdf Qwer" center font ",40" at screen 0.5, 0.95

plot sin(x)
plot cos(x)
plot exp(x)
plot exp(-x)

unset multiplot
### end of code
结果:

### multiplot title with enough space
reset session

set multiplot layout 2,2 margin 0.1,0.95,0.1,0.85 spacing 0.1,0.1
set label 1 "Asdf Qwer" center font ",40" at screen 0.5, 0.95

plot sin(x)
plot cos(x)
plot exp(x)
plot exp(-x)

unset multiplot
### end of code

Gnuplot有时在正确估计文本所需的空间方面存在问题

一个简单的解决方法是创建一个两行标题,其中第一行为空(
\n
):

结果:

另一种可能是通过pngcairo终端交换png终端:

#!/usr/bin/env gnuplot
set terminal pngcairo size 1024, 1024
set output 'tmp.png'
set multiplot layout 2,2 title "Asdf Qwer" font ",30"
plot sin(x)
plot cos(x)
plot exp(x)
plot exp(-x)
unset multiplot
结果:

Ah,因此标签会自动正确地占用空间。然后标题确实感觉有问题。您可以在屏幕0.5,0.95或任何您想要的位置设置标签的位置。例如,如果带有
font“、50”
的标题会从图形中突出,则必须为multiplot设置更大的边距,并降低标签的位置。全部手动:-(是的,多点标题在我看来有问题。
#!/usr/bin/env gnuplot
set terminal pngcairo size 1024, 1024
set output 'tmp.png'
set multiplot layout 2,2 title "Asdf Qwer" font ",30"
plot sin(x)
plot cos(x)
plot exp(x)
plot exp(-x)
unset multiplot