如何增加gnuplot多重绘图中的外部边距以适合较大的标题字体?

时间:2019-06-03 06:54:46

标签: gnuplot

我有一个多图,我想增加标题字体大小。

当我尝试:

#!/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)

标题过大并被截断:

enter image description here

我尝试使用tmargin(此处是用于演示的夸大值)来增加上边距:

#!/usr/bin/env gnuplot
set tmargin 30
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)

但这只会增加每个图的内部边距,并且顶部标题仍会被剪掉:

enter image description here

在gnuplot 5.2补丁程序级别6(Ubuntu 19.04)中进行了测试。

2 个答案:

答案 0 :(得分:1)

显然,在计算标题空间时出了点问题。因此,一种可能性是手动设置页边距并将标题添加为标签。

代码:

### 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

结果:

enter image description here

答案 1 :(得分:1)

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

一个简单的解决方法是使用空的第一行(\n)创建两行标题:

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

结果: title with empty first line

另一种可能性是通过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

结果: pngcairo terminal