Gnuplot:在绘图外部添加关键而不调整绘图大小

问题描述 投票:0回答:3

在 gnuplot 中,我可以使用 this 命令

将密钥放在绘图之外
set key outside;
set key right top;

但正如本页所示,按键的放置将自动调整绘图区域的大小,以使结果图像的大小保持不变。无论我将钥匙放在绘图区域外的哪个位置,是否有一种简单的方法可以保持绘图区域相同?

plot gnuplot image-resizing
3个回答
11
投票

使用“设置大小”命令设置以画布大小为单位的绘图大小。但 键被认为是绘图的一部分,因此当您使用“set key Outside”时,实际图形总是会缩小,以便图形+键服从您使用“set size”设置的大小。

您需要做的是首先通过水平缩小绘图为关键点腾出空间,例如“设置大小 0.75, 1”。然后手动定位钥匙。不要说“在外部设置关键点”,而是尝试“在 x,y 处设置关键点”,其中 x 和 y 是轴单位。 x 的值将是一些边距 + 键长度 + x 轴长度,y 的值将稍微小于 y 轴的顶部。您需要进行一些试验以获得您喜欢的位置,但您会发现当您使用此命令移动按键时图形大小不会改变。


1
投票

老问题,但一个简单的解决方案是简单地设置一个边距并将图例放在其中。示例:

f(x) = x
g(x) = x**2

set multiplot layout 2,1

set rmargin 30
set key at screen 1, graph 1

plot f(x) title "Legend 1 blablabla"

plot g(x) title "Legend 2"

unset multiplot

您只需要保证您的图例足够大即可。默认单位是字符宽度。


0
投票

但是在提出的(聪明的)解决方案中,y 轴上的值具有不同的大小,绘图的 x=-10 边界未正确对齐。有没有办法正确对齐两个图的绘图区域,并避免让 y 轴上的数字影响绘图区域的大小?

© www.soinside.com 2019 - 2024. All rights reserved.