如何修复:plot.new()中的错误:图形边距太大


在 R 中您可能遇到的错误是:

 Error in plot.new(): figure margins too large

当 RStudio 中的绘图面板对于您尝试创建的绘图的边距来说太小时,就会出现此错误。

本教程准确解释了如何修复此错误。

如何重现错误

假设我们尝试在 R 中创建以下图:

 #attempt to create scatterplot
plot(1:30)

我们收到以下错误:

 Error in plot.new(): figure margins too large 

我们收到此错误是因为绘图面板非常小(请注意左下角面板的大小),因此无法在如此小的面板中显示绘图边距。

方法#1:通过增加绘图面板的大小来修复错误

修复此错误的最简单方法是增加 RStudio 中绘图面板的大小:

 plot(1:30)

请注意,我们没有收到错误,因为绘图面板足够大,可以显示绘图边距。

方法#2:使用 par() 函数修复错误

默认情况下,R 中的par()函数设置绘图的边距,如下所示:

  • 下边距: 5.1
  • 左边距: 4.1
  • 上边距: 4.1
  • 右边距: 2.1

但是,我们可以使用以下语法来减少边距:

 #adjust plot margins
by(mar = c(1, 1, 1, 1))

#create scatterplot
plot(1:30) 

由于我们显着减小了边距,该图已成功显示在 RStudio 的绘图面板中。

方法#3:通过停止当前跟踪设备来修复错误

如果前面的方法都不能修复错误,您可能需要使用以下代码来停止当前的跟踪设备:

 dev. off ()

在某些情况下,这可以修复错误,因为它会删除用于先前绘图的任何绘图设置,这些设置可能会干扰当前绘图。

其他资源

以下教程解释了如何在 R 中执行其他常见跟踪功能:

如何在 R 中使用 par() 函数
如何在 R 中叠加图
如何在 R 中将多个图保存为 PDF

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注