2012-02-15 12 views
47

quali margini, orientamenti e quali ...ripristinare i parametri grafici tornare ai valori di default, senza uso di dev.off()

dev.off() non funziona per me. Uso spesso RStudio, con il suo dispositivo grafico integrato. Poi ho le funzioni di tracciamento, che voglio tracciare nel dispositivo di grafica RStudio predefinito, o se ho chiamato X11(), prima in una nuova finestra.

Questo comportamento non funziona con dev.off(). Se la mia funzione di tracciatura chiama sempre dev.off(), potrebbe inavvertitamente chiudere la finestra X11() e stampare invece nel dispositivo RStudio. Se chiamo sempre dev.off() seguito da X11(), si traccia sempre in una nuova finestra, anche se volevo tracciare nel dispositivo RStudio.

Ordinariamente questo potrebbe essere risolto con getOption("device"), tuttavia, che restituisce sempre RStudioGD.

risposta

41

Vedere? Par. L'idea è che li si salva come sono quando li hai trovato, e quindi ripristinare:

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

Ora ripristino come erano prima abbiamo cambiato mar:

par(old.par) 
+6

'.pardefault <- pari()' 'all'avvio con il par (.pardefault)' fa il trucco, grazie – Cookie

+8

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

+0

@cookie il tuo metodo funziona per me. Probabilmente il metodo accettato funzionava in una volta, ma con rstudio 1.0.153 solo il tuo metodo ripristina tutte le modifiche, i margini, i colori, ecc. old.par <- par (no.readonly = T) e successivamente par (old.par) – netskink

21

In RStudio, Si può solo navigare a "Grafici" e selezionare "Rimuovi grafici"

+3

Questo rimuove solo il grafico corrente, ripristina l'ultima immagine tracciata ma non rimuove i parametri grafici. Mi manca qualcosa? –

+5

Passare ai grafici e 'Cancella tutto' se ci si trova in RStudio – Blou91

+2

deselezionare tutto Fa resettare i parametri grafici ai valori predefiniti –

9

Se si è già mancato di salvare i parametri predefiniti all'avvio e non si desidera riavviare la sessione, è possibile aprire un terminale ed eseguire R digitando (di solito) R.

digitare Poi:

par()

stamperà tutti i valori di default.

È possibile salvare in un file di testo e l'importazione nello spazio di lavoro che si sta lavorando in

+4

Consiglio intelligente. Ho sempre incasinato le mie impostazioni predefinite eseguendo script grafici con errori prima di poter resettare i parametri. Comandi completi: nella nuova sessione 'par.defaults <- par (n.readonly = TRUE); save (par.defaults, file = "R.default.par.RData") ', quindi nella tua sessione principale (assumendo la stessa directory di lavoro):' load ("R.default.par.RData"); par (par.defaults) '. – AmeliaBR

+0

Do 'dput (par (no.readonly = TRUE))' invece. Questo ti salverà dal dover ricopiare tutto. – Bastien

2

una semplice funzione che contiene tutte le impostazioni di default può fare il lavoro:.

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

chiamata utilizzando :

reset_par()