frame()出错:图边距太大

M. *_*its 7 plot r

我正在尝试创建一个图表矩阵,但我希望左上角是空白的.所以我正在使用:

frame()
Run Code Online (Sandbox Code Playgroud)

R响应:

错误frame():图边距太大

我正在使用以下两行来创建我的布局:

plotIDs <- matrix(c(1:16), 4, 4, byrow = T);
layout(plotIDs, widths = c(0.5,1,1,1,1), heights = c(0.5,1,1,1,1));
Run Code Online (Sandbox Code Playgroud)

这给了我以下布局:

4乘4布局,第一行和半高col

如果我然后发出frame()我得到上述错误.我究竟做错了什么?我没有看到任何方法为命令指定高度或宽度frame()(只是别名plot.new())?

mds*_*ner 9

该消息意味着图中的边距太大并且没有为绘图留下足够的空间.

尝试减少保证金:

op <- par(mar = par("mar")/2)
plot.new()  ## this is optional for this example
plot(1:10)
par(op)  ## tidy up to restore the default par setting
Run Code Online (Sandbox Code Playgroud)

您可以从frame()或plot.new()开始,或者只是绘制到第一个面板中.请注意,您需要考虑每个不同面板的适当边距设置,以及微调标签尺寸等.

对于一个完全空白的面板,你可以完全杀掉边距:

op <- par(mar = rep(0, 4))
plot.new()
par(op)
Run Code Online (Sandbox Code Playgroud)


Gre*_*now 7

您可以通过在矩阵中使用0来使用布局将面板留空,因此如果您使用0:15而不是1:16,则第一个面板将为空白而无需您跳过.当然,您需要设置其余面板的边距和cex.