在Gnuplot中使用multiplot的整个子地块的坚实背景

在Gnuplot中使用multiplot的整个子地块的坚实背景,gnuplot,Gnuplot,我试图绘制两个重叠的图形(一个“大”和另一个小的“放大”)。问题是我不能对整个“小”图形有一个坚实的背景,这意味着包括标签、记号标签等等 有人有主意吗 这是我的问题的答案(编辑后更接近我的问题): 看起来您可以使用与发布的代码几乎完全相同的代码,但要更改multiplot命令和坐标,以便所创建的矩形也与图形的标签重叠: reset set multiplot title "Plot 1" set object 1 rectangle from graph 0.45,0.45 to graph 1

我试图绘制两个重叠的图形(一个“大”和另一个小的“放大”)。问题是我不能对整个“小”图形有一个坚实的背景,这意味着包括标签、记号标签等等

有人有主意吗

这是我的问题的答案(编辑后更接近我的问题):


看起来您可以使用与发布的代码几乎完全相同的代码,但要更改multiplot命令和坐标,以便所创建的矩形也与图形的标签重叠:

reset
set multiplot title "Plot 1"
set object 1 rectangle from graph 0.45,0.45 to graph 1.1,1.1 front fc rgb "#04AA40"
plot sin(x)/x ls -1
unset object 1
set size 0.5,0.5
set origin 0.45,0.45
plot sin(x)/x ls -1
unset multiplot

如果这不起作用,你能解释一下为什么你不能像你说的那样对整个小数字有一个背景吗?

我用这个代码回答我自己的问题,这是我正在寻找的最接近的东西,但仍然不满意。如果有人知道如何自动获得计算的利润率,这个答案可能是

reset
set multiplot title "Plot 1"
plot sin(x)/x ls -1
xorig_sub=.1
yorig_sub=.5
width_sub=.35
height_sub=.35
lmarg_sub=0.09
bmarg_sub=0.06
rmarg_sub=0.025
tmarg_sub=0.02
xmin=xorig_sub
xmax=xorig_sub+width_sub+rmarg_sub+lmarg_sub
ymin=yorig_sub
ymax=yorig_sub+height_sub+tmarg_sub+bmarg_sub
set object 1 rectangle front from screen xmin,ymin to screen xmax,ymax fc rgb "#04AA40" fs solid
clear
replot
unset object 1
set lmargin at screen xmin+lmarg_sub
set rmargin at screen xmax-rmarg_sub
set bmargin at screen ymin+bmarg_sub
set tmargin at screen ymax-tmarg_sub
set size width_sub,height_sub        # set the size of the second plot in plot units
set origin xorig_sub,yorig_sub       # set the origin for the second plot in plot units
plot sin(x)/x ls -1
unset multiplot

我最近也有同样的问题,看到了这篇文章。游戏可能有点晚了,但为了完整起见:

reset
set multiplot
plot sin(x)/x ls -1
set size 0.4,0.4
set origin 0.6,0.5
set object 1 rectangle from graph 0,0 to graph 1,1 fc rgb "#04AA40" fillstyle solid 0.0 noborder
set ticks front
plot sin(x)/x ls -1
unset multiplot 

与gnuplot 5.0配合使用。

我修改了我的SWE,以便更接近我真正的问题。问题是绿色矩形不包含记号和axis label.Hmm。你试过我的例子吗?我的不同之处在于,我把绿色矩形放在大图上,然后把小图放在绿色矩形上。gnuplot不能在绘图区域外绘制形状,这似乎是一个有目的的限制,因此您可能无法相对于小绘图的大小/位置自动定义绿色矩形。好的,对不起。我想我试一下你的例子,但事实上,我又试了一次;-)这与我想要的很接近,但是我很惊讶gnuplot不知道每个图的边界框(或者至少,没有办法得到它们)。也许你知道如何从诸如宽度、高度、xorig、yorig等变量计算它们?恐怕我真的不知道任何gnuplot内部变量来处理绘图边界框。这里的主要限制似乎是对象不能超出绘图边界。你看到我自己的答案了吗?我想我需要的是一种获得gnuplot的计算边距的方法。。。有什么想法吗?我只是偶然发现了你的Q/A。作为澄清:你想自动计算上面的哪一个边距?@Schorsch查看本主题,我希望整个子地块有一个透明的背景,以便在上面有我的轴标题。在我的示例中,为了满足我的请求,我必须告诉gnuplot子批的边距是多少。所以我的问题是,我怎么能在一个自动过程中做这样的事情呢?
reset
set multiplot
plot sin(x)/x ls -1
set size 0.4,0.4
set origin 0.6,0.5
set object 1 rectangle from graph 0,0 to graph 1,1 fc rgb "#04AA40" fillstyle solid 0.0 noborder
set ticks front
plot sin(x)/x ls -1
unset multiplot