2012-02-15 9 views
47

tales como márgenes, orientaciones y tal ...Restablecer los parámetros gráficos volver a los valores por defecto y sin uso de dev.off()

dev.off() no funciona para mí. A menudo uso RStudio, con su dispositivo gráfico incorporado. Luego tengo funciones de trazado, que quiero trazar ya sea en el dispositivo gráfico RStudio por defecto, o si llamé al X11(), antes en una nueva ventana.

Este comportamiento no funciona con dev.off(). Si mi función de trazado siempre llama al dev.off(), podría cerrar inadvertidamente la ventana X11() y tramar en el dispositivo RStudio. Si siempre llamo al dev.off() seguido de X11(), siempre trazaría en una nueva ventana, incluso si quisiera trazar en el dispositivo RStudio.

Normalmente, eso se puede resolver con getOption("device"), que siempre devuelve RStudioGD.

Respuesta

41

¿Ves? La idea es que los guarda como lo son cuando has encontrado, y luego restaurar:

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

Ahora restauración como estaban antes de que cambiamos mar:

par(old.par) 
+6

'.pardefault <- par()' 'en el arranque con par (.pardefault)' hace el truco, gracias – Cookie

+8

tha t '.pardefault <- par (no.readonly = T)' – Cookie

+0

@cookie su método funciona para mí. El método aceptado probablemente funcionó al mismo tiempo, pero con rstudio 1.0.153 solo su método restablece todos los cambios, márgenes, colores, etc. old.par <- par (no.readonly = T) y luego par (old.par) – netskink

21

En rstudio, sólo puede navegar a 'Gráficos' y seleccione 'Eliminar gráficos'

+3

Esto simplemente elimina el gráfico actual, revierte a la última imagen graficada pero no elimina los parámetros gráficos. ¿Me estoy perdiendo algo? –

+5

Ir a parcelas y 'Borrar todo' si está en RStudio – Blou91

+2

borrar todo DOES restablecer los parámetros gráficos a los valores predeterminados –

9

Si ya olvidó guardar los parámetros predeterminados al inicio y no desea reiniciar la sesión, puede abrir un terminal y ejecutar R escribiendo (generalmente) R.

a continuación, escriba:

par()

se imprimirá todos los valores por defecto.

Puede guardarlos en un archivo de texto y la importación en el espacio de trabajo que se está trabajando actualmente en

+4

Consejo inteligente. Siempre estropeo mis valores predeterminados al ejecutar las secuencias de comandos de gráficos antes de que pueda restablecer los parámetros. Comandos completos: en la nueva sesión 'par.defaults <- par (no.readonly = TRUE); save (par.defaults, file = "R.default.par.RData") ', luego en su sesión principal (asumiendo el mismo directorio de trabajo):' load ("R.default.par.RData"); par (par.defaults) '. – AmeliaBR

+0

Do 'dput (par (no.readonly = TRUE))' en su lugar. Esto le ahorrará tener que volver a copiar todo. – Bastien

2

una función simple que contiene todos los valores predeterminados puede hacer el trabajo:.

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) 
    } 

llamada usando :

reset_par()

Cuestiones relacionadas