带有两个 boxes/groups 和自定义标题的 Gnuplot 图例

Gnuplot legend with two boxes/groups and custom heading

我有两种类型的 data/plot,我想将它们分组以进行说明。例如,假设我有这四个数据图

set key box
pl x, x**2, sin(x), cos(x)

然后图例框变成了这样的东西

但我想要的是这样的,(每个组有两个框,每个组有一个自定义标题)

我该怎么做?这种类型的图例可以用 gnuplot 实现吗?

恐怕 Gnuplot 中没有 bulit-in 解决方案。但是你可以试试 multiplot:

set key box
set key width 3

set multiplot

set key at screen 0.45,0.95
set key title "Polynomial"

plot[-10:10][-20:100] x t 'x', x**2 t 'x^2'

set key at screen 0.65,0.95
set key title "Trigonometrical"

plot[-10:10][-20:100] sin(x) lc 3, cos(x) lc 4

unset multiplot

编辑

正如 Eldrad 所写,您可以通过设置边距并取消设置第二个图的 ticsborder 来微调此解决方案。例如:

set key box
set key width 3

set multiplot

set lmargin screen 0.05
set rmargin screen 0.95
set bmargin screen 0.05
set tmargin screen 0.95
set key at screen 0.45,0.95
set key title "Polynomial"
set tics
set border

plot[-10:10][-20:100] x t 'x', x**2 t 'x^2'

set key at screen 0.65,0.95
set key title "Trigonometrical"
unset tics
set border 0

plot[-10:10][-20:100] sin(x) lc 3, cos(x) lc 4

unset multiplot

没有创建两个密钥的直接选项,但肯定有几种需要手动调整的解决方法。一种方法是创建一个 two-column 键:

set key maxrows 3 width 5
plot keyentry t "Polynomial", x t "x", x**2 t "x²", keyentry t "Trigonometry", sin(x), cos(x)

另一种方法可能基于手册中的 multiple keys 部分。