【问题标题】:Histogram, error: Error in plot.new() : figure margins too large [duplicate]直方图,错误:plot.new() 中的错误:图边距太大 [重复]
【发布时间】:2013-12-27 13:40:10
【问题描述】:

我必须在 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() 中的错误:数字边距太大

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

谢谢。

【问题讨论】:

标签: r histogram par


【解决方案1】:

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

【讨论】:

  • 是的,我试图放大它,但它没有帮助,因为它有很多直方图:141 个直方图。
  • 这就是我要建议的。几周前我遇到了同样的问题,我的解决方案是扩大绘图窗口。
  • 不断调整绘图窗口的大小很烦人。有谁知道更好的方法吗?
【解决方案2】:

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

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

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

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)
}

【讨论】:

  • 非常感谢...这对我很有帮助。
猜你喜欢
  • 2011-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 2012-09-27
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多