问题
I have some R code to plot an ellipse for a bivariate normal with known mean and variance using the ellipse()
function from the mixtools
package. However when I run this in Rmarkdown I get an error saying "plot.new has not been called yet". When I put another plot directly above it in the same chunk it runs but otherwise I get the error. What's the reason for this?
plot(ellipse(params,covariance, npoints = 500, alpha=0.01),
xlim = c(-2,3.5),
ylim = c(0,.75), xlab="alpha", ylab = "beta")
This code works fine when just run in R
, the issue is only in markdown.
回答1:
mixtools
function ellipse()
offers a plot argument, look at the manual. So you can plot your ellipse like this:
ellipse(params, covariance,
npoints = 500, alpha=0.01,
newplot = TRUE, draw = TRUE,
xlim = c(-2,3.5), ylim = c(0,.75),
xlab="alpha", ylab = "beta")
The important arguments are newplot = TRUE
and draw = TRUE
. They offer you the plot of the ellipse and all other graphical parameters can be submitted to the function ellipse()
via the three dot argument. If newplot = TRUE
and draw = TRUE
, plot the ellipse on a new plot. If newplot = FALSE
and draw = TRUE
, add the ellipse to an existing plot.
来源:https://stackoverflow.com/questions/39679329/plot-new-error-in-r-markdown