Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Histogram, error: Error in plot.new() : figure margins too large [duplicate]

Tags:

r

histogram

par

I have to plot 141 histograms in R. I am working with windows 8. then I write:

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

But always I get this error: Error in plot.new() : figure margins too large

How can I solve it?? Is there any command for adjusting the size of each histogram??

Thanks.

like image 473
user3054327 Avatar asked Dec 27 '13 13:12

user3054327


2 Answers

If it occurs using RStudio, you could try to enlarge your plot window. Sometimes it helps.

like image 181
Davide Passaretti Avatar answered Oct 26 '22 23:10

Davide Passaretti


You set the outer margins (outside the whole set of plots) but the inner margins (for each panel) are at the default. With the margins at the default, there is not enough room within each panel to plot the histogram and have the marginal information.

So you need to change the inner margins as well, and if you want anything to look reasonable then you should also change size and position of the things to be added.

Here is an example (I had to change to random data since your example was not reproducible):

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)
}
like image 42
Greg Snow Avatar answered Oct 26 '22 23:10

Greg Snow