6

我必须在 R 中绘制 141 个直方图。我正在使用 Windows 8。然后我写:

par(mfcol=c(12,12), oma=c(1,1,0,0))

for(m in 1:141 ){
  x <- precData[[m]]
  hist(x[x != 0],30, xlab=NA, ylab=NA, main=statData$Name[m])
}

但我总是收到此错误: plot.new() 中的错误:数字边距太大

我该如何解决?有没有调整每个直方图大小的命令?

谢谢。

4

2 回答 2

12

如果它使用 RStudio 发生,您可以尝试放大绘图窗口。有时它会有所帮助。

于 2013-12-27T15:17:31.743 回答
6

您设置了外边距(在整个绘图集之外),但内边距(对于每个面板)是默认值。在默认边距的情况下,每个面板内没有足够的空间来绘制直方图并获得边际信息。

所以你也需要改变内边距,如果你想让任何东西看起来合理,那么你还应该改变要添加的东西的大小和位置。

这是一个示例(我不得不更改为随机数据,因为您的示例不可重现):

par(mfcol=c(12,12), oma=c(1,1,0,0), mar=c(1,1,1,0), tcl=-0.1, mgp=c(0,0,0))

for(m in 1:141 ){
  x <- rnorm(100)
  hist(x[x != 0],30, xlab=NA, ylab=NA, main=paste('data: ',m), 
        cex.axis=0.5, font.main=1, cex.main=0.8)
}
于 2013-12-27T18:19:39.357 回答