21
votes

I am using a recent version of Rstudio with an iMac

Version 1.0.44 – © 2009-2016 RStudio, Inc. Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko)

And I noticed the notebook function for rmarkdown files. When generating plots, the usual "Plots window" is not used any more, and the plots are generated just below the code chunk.

And I have an error for the following code:

plot(seq(1,10,1))
abline(a=0,b=1)

The error is showed below the code chunk :

Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) : plot.new has not been called yet

However, when knitting the whole rmarkdown file, there is no error.

So I would like to know how to avoid the error:

  • by using another code
  • by using the "Plots window"
  • or another way.
5
I cannot reproduce the error. Only if I put both commands in seperate chunks the error appears.Martin Schmelzer
I think that it is because I run the code line by line. When runing the entire R chunk in rmarkdown, I don't get errors.Xiaoshi

5 Answers

31
votes

The following will work

{plot(seq(1,10,1))
 abline(a=0,b=1)}
8
votes

In RStudio, there's a setting in Preferences -> R Markdown to "Show output inline for all R Markdown documents". To get rid of the error, make sure this is unchecked.

5
votes

This works too

plot(seq(1,10,1))+
abline(a=0,b=1)
1
votes

In jupyter with R kernel, you will see that error if run the code line by line, just as XR SC mentioned.

0
votes

This was happening to me because I was adding an invalid parameter to my plot. In my case I was trying to execute:

ggplot(df, aes(x=sales)) + geom_histogram() + title('Plot Title')

And should have been executing:

ggplot(df, aes(x=sales)) + geom_histogram() + ggtitle('Plot Title')

Notice that you must use ggtitle, not title.