如何调整Gnuplot图例样本与标题的相对垂直位置及轴对齐问题?
Gnuplot 图例垂直位置调整及轴标签对齐修复
我来帮你搞定这几个Gnuplot的排版小问题,亲测在你使用的OSX 10.10.5/10.11.6 + Homebrew安装的Gnuplot 5.2.2(cairo 1.14.12)版本上完全有效:
1. 调整图例中样本与标题的相对垂直位置
要控制图例(key)里那条样本小线条和对应文字的垂直间距,用set key textoffset命令就可以——它能直接设置文字相对于样本的偏移量(格式是x方向偏移, y方向偏移)。比如想让文字往上挪一点就用正的y值,往下就用负的:
set terminal pdfcairo set output 'foo.pdf' set yrange [-1.2:1.2] # 让图例文字向上偏移0.1个单位,数值按需调整 set key textoffset 0, 0.1 plot sin(x)
要是还想调整整个图例里不同条目之间的垂直间距,再加个set key spacing 1.5(数值越大间距越宽)就行。
2. 修复x轴标签偏右、y轴标签下移的问题
在OSX的Homebrew版本Gnuplot里,pdfcairo终端偶尔会因为字体渲染的小bug导致轴标签错位,用这两个命令就能修复:
- x轴标签居中对齐:强制把刻度标签对齐到刻度线正下方
set xtics align center - y轴标签位置修正:用
offset参数手动把y轴标签往上挪,抵消默认的下移# 向上偏移y轴标签0.5个单位,数值根据你的图表微调 set ylabel offset 0, 0.5
另外,指定终端用系统默认字体(比如Helvetica)也能减少渲染异常,把终端设置改成这样:
set terminal pdfcairo font 'Helvetica,10'
完整可直接运行的脚本
把所有调整整合到一起,直接复制就能用:
set terminal pdfcairo font 'Helvetica,10' set output 'foo.pdf' set yrange [-1.2:1.2] # 调整图例样本与文字的垂直偏移 set key textoffset 0, 0.1 # 修复x轴标签偏右的问题 set xtics align center # 修复y轴标签下移的问题 set ylabel offset 0, 0.5 plot sin(x) title "sin(x)"
内容的提问来源于stack exchange,提问作者Gareth Walker




