2012-02-15 59 views
47

如利润率,方向和这样的......重置图形参数恢复为默认值,而无需使用dev.off()

dev.off()不适合我的工作。我经常使用RStudio,内置图形设备。然后绘制功能,我想要在默认的RStudio图形设备中绘制功能,或者在新窗口中调用X11()

此行为不会dev.off()工作。如果我的绘图功能始终调用dev.off(),它可能会无意中关闭X11()窗口,而是在RStudio设备中绘制。如果我总是叫dev.off()其次X11(),它总是绘制在一个新的窗口,即使我想在RStudio设备绘制。

按说,可能与getOption("device")但是解决,总是返回RStudioGD

回答

41

看到了吗?相提并论。这个想法是,你救他们,因为他们是当你发现他们,然后再还原:

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

现在恢复,因为他们是我们改变mar前:

par(old.par) 
+6

'.pardefault < - 参数()'在启动时'面值(.pardefault)'的伎俩,感谢 – Cookie 2012-02-15 12:20:14

+8

制作塔t'.pardefault < - par(no.readonly = T)' – Cookie 2012-02-23 12:29:14

+0

@cookie你的方法适用于我。被接受的方法可能曾经在同一时间,但rstudio 1.0.153只有你的方法重置所有的变化,边距,颜色等,即。 old.par < - par(no.readonly = T),然后是par(old.par) – netskink 2017-08-27 13:33:28

21

在RStudio,你可以浏览以“情节”,然后选择“删除曲线”

+3

这只是删除当前的图,恢复到最后绘制的图像,但不会删除图形参数。我错过了什么? – 2014-06-16 06:41:38

+5

去的情节和“全部清除”,如果你在RStudio – Blou91 2014-11-05 19:45:06

+2

清除所有操作重置图形参数为缺省值 – 2015-11-04 14:27:55

9

如果你已经错过保存在启动时的默认参数,而你不想重新启动会话,那么你可以通过打开终端,运行R(通常)打字R.

然后键入:

面值()

这将打印所有默认值。

你可以将它们保存在一个文本文件,并导入到您当前工作的工作区

+4

智能提示。在重置参数之前,我总是通过运行错误的图形脚本来弄乱我的默认设置。完整的命令:在新的会话中'par.defaults < - par(no。只读= TRUE);保存(par.defaults,file =“R.default.par.RData”),然后在你的主会话中(假设工作目录相同):'load(“R.default.par.RData”);帕(par.defaults)'。 – AmeliaBR 2014-09-23 04:57:08

+0

改为'dput(par(no.readonly = TRUE))'。这将使您不必复制一切。 – Bastien 2017-03-09 16:43:13

2

包含所有默认设置都可以胜任一个简单的函数:

reset_par <- function(){ 
    op <- structure(list(xlog = FALSE, ylog = FALSE, adj = 0.5, ann = TRUE, 
         ask = FALSE, bg = "transparent", bty = "o", cex = 1, cex.axis = 1, 
         cex.lab = 1, cex.main = 1.2, cex.sub = 1, col = "black", 
         col.axis = "black", col.lab = "black", col.main = "black", 
         col.sub = "black", crt = 0, err = 0L, family = "", fg = "black", 
         fig = c(0, 1, 0, 1), fin = c(6.99999895833333, 6.99999895833333 
         ), font = 1L, font.axis = 1L, font.lab = 1L, font.main = 2L, 
         font.sub = 1L, lab = c(5L, 5L, 7L), las = 0L, lend = "round", 
         lheight = 1, ljoin = "round", lmitre = 10, lty = "solid", 
         lwd = 1, mai = c(1.02, 0.82, 0.82, 0.42), mar = c(5.1, 4.1, 
                      4.1, 2.1), mex = 1, mfcol = c(1L, 1L), mfg = c(1L, 1L, 1L, 
                                  1L), mfrow = c(1L, 1L), mgp = c(3, 1, 0), mkh = 0.001, new = FALSE, 
         oma = c(0, 0, 0, 0), omd = c(0, 1, 0, 1), omi = c(0, 0, 0, 
                      0), pch = 1L, pin = c(5.75999895833333, 5.15999895833333), 
         plt = c(0.117142874574832, 0.939999991071427, 0.145714307397962, 
           0.882857125425167), ps = 12L, pty = "m", smo = 1, srt = 0, 
         tck = NA_real_, tcl = -0.5, usr = c(0.568, 1.432, 0.568, 
                  1.432), xaxp = c(0.6, 1.4, 4), xaxs = "r", xaxt = "s", xpd = FALSE, 
         yaxp = c(0.6, 1.4, 4), yaxs = "r", yaxt = "s", ylbias = 0.2), .Names = c("xlog", 
                            "ylog", "adj", "ann", "ask", "bg", "bty", "cex", "cex.axis", 
                            "cex.lab", "cex.main", "cex.sub", "col", "col.axis", "col.lab", 
                            "col.main", "col.sub", "crt", "err", "family", "fg", "fig", "fin", 
                            "font", "font.axis", "font.lab", "font.main", "font.sub", "lab", 
                            "las", "lend", "lheight", "ljoin", "lmitre", "lty", "lwd", "mai", 
                            "mar", "mex", "mfcol", "mfg", "mfrow", "mgp", "mkh", "new", "oma", 
                            "omd", "omi", "pch", "pin", "plt", "ps", "pty", "smo", "srt", 
                            "tck", "tcl", "usr", "xaxp", "xaxs", "xaxt", "xpd", "yaxp", "yaxs", 
                            "yaxt", "ylbias")) 
    par(op) 
    } 

调用它使用:

reset_par()