在不使用dev.off()的情况下将图形参数重置为默认值

Coo*_*kie 50 r rstudio

如利润,方向等......

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

此行为不起作用dev.off().如果我的绘图功能总是调用dev.off(),它可能会无意中关闭X11()窗口,而是在RStudio设备中绘图.如果我总是打电话dev.off()跟随X11(),它将始终在新窗口中绘图,即使我想在RStudio设备中绘图.

getOption("device")然而,通常可以通过总是返回来解决RStudioGD.

mds*_*ner 44

见?par.这个想法是你在找到它们时保存它们,然后恢复:

old.par <- par(mar = c(0, 0, 0, 0))
## do plotting stuff with new settings
Run Code Online (Sandbox Code Playgroud)

现在恢复之前我们改变了mar:

par(old.par)
Run Code Online (Sandbox Code Playgroud)

  • 使那个`.pardefault < - par(no.readonly = T)` (13认同)
  • `.pardefault < - par()`在启动时用`par(.pardefault)`做的伎俩,谢谢 (9认同)
  • @cookie你的方法对我有用。接受的方法可能曾经有效,但对于 rstudio 1.0.153,只有您的方法会重置所有更改、边距、颜色等。old.par &lt;- par(no.readonly=T) 然后是 par(old.par) (2认同)

rin*_*tex 25

在RStudio中,您可以导航到"Plots"并选择"Remove plots"

  • 如果你在RStudio,去绘图和'全部清除' (7认同)
  • 这只是删除当前绘图,恢复到最后绘制的图像但不删除图形参数.我错过了什么吗? (4认同)
  • 清除所有DOES将图形参数重置为默认值 (3认同)

小智 10

如果您在启动时已经错过了保存默认参数,并且您不想重新启动会话,则可以打开终端并通过(通常)键入R运行R.

然后输入:

帕()

它将打印所有默认值.

您可以将它们保存在文本文件中,然后导入到当前工作的工作区中.

  • 智能提示.在重置参数之前,我总是通过运行错误输出的图形脚本来搞乱我的默认设置.完整命令:在新会话中`par.defaults < - par(no.readonly = TRUE); 保存(par.defaults,file ="R.default.par.RData")`,然后在主会话中(假设工作目录相同):`load("R.default.par.RData"); 帕(par.defaults)`. (4认同)

Far*_*ghi 5

一个包含所有默认值的简单函数可以完成这项工作:

  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)
  }
Run Code Online (Sandbox Code Playgroud)

用它来称呼它:

reset_par()


Rob*_*ans 5

规范的答案仅在评论中(由 Cookie 提供),并且很容易被忽视:

获取当前/默认参数

old.par <- par(no.readonly = TRUE)
Run Code Online (Sandbox Code Playgroud)

在您的代码中设置它们,例如

par(mai=c(0,0,0,0))
Run Code Online (Sandbox Code Playgroud)

然后你可以用以下命令重置参数

par(old.par)
Run Code Online (Sandbox Code Playgroud)

或者,在一个函数中

on.exit(par(old.par))
Run Code Online (Sandbox Code Playgroud)


小智 5

对于边距,?par 提供默认值 c(5,4,4,2)+0.1。以下应将边距重置为默认值。

par(mar=c(5,4,4,2)+0.1)
Run Code Online (Sandbox Code Playgroud)