Reset the graphical parameters back to default values without use of dev.off()

Cookie picture Cookie · Feb 15, 2012 · Viewed 112k times · Source

Such as margins, orientations and such...

dev.off() does not work for me. I am often using RStudio, with its inbuilt graphics device. I then have plotting functions, which I want to plot either in the default RStudio graphics device, or if I called X11(), before in a new window.

This behaviour doesn't work with dev.off(). If my plotting function always calls dev.off(), it might inadvertently close the X11() window and instead plot in the RStudio device. If I always call dev.off() followed by X11(), it would always plot in a new window, even if I wanted to plot in the RStudio device.

Ordinarily that could be solved with getOption("device"), however, that always returns RStudioGD.

Answer

mdsumner picture mdsumner · Feb 15, 2012

See ?par. The idea is that you save them as they are when you found them, and then restore:

old.par <- par(mar = c(0, 0, 0, 0))
## do plotting stuff with new settings

Now restore as they were before we changed mar:

par(old.par)