gnuplot の 凡例の背景を塗りつぶすには

set keyでopaqueを指定するのがポイントです。ただしopaque オプションは古いgnuplotには存在しないためgnuplotのversion に注意が必要です。 少なくともgnuplotのversion 4.6では、opaqueオプションがあることを確認しています。

デフォルトでは、プロットと対応する凡例のペアは同時に描画されるとマニュアルにあります。このため、xrange, yrangeの指定によっては、凡例とプロットが重なることで見づらいグラフになることがあります。このような場合、凡例の背景を非透過(opaque)にすることで、見やすいグラフにすることができます。

set key opaque

とすることで、凡例の描画をデータプロットの後に行う指定ができます。

opaqueを指定しない例

opaque を指定しないでboxを指定するだけでは、プロットと重なって描画されます。すなわち

set key box

では


のようになります。

opaqueとboxを指定した例

opaqueとboxを指定すると、すなわち

set key opaque box

では


となります。

boxの境界線を消したい場合

boxの境界線を消したい場合は、色を白に指定します(ここではheigt 1も指定してマージンを調整しています):

set key opaque box lc rgb "white" height 1