如何修复: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 中执行其他常见跟踪功能: