Tels que les marges, les orientations et autres ...
dev.off()
ne fonctionne pas pour moi. J'utilise souvent RStudio, avec son périphérique graphique intégré. J'ai ensuite des fonctions de tracé que je souhaite tracer soit dans le périphérique graphique RStudio par défaut, soit si j'ai appelé X11()
, avant dans une nouvelle fenêtre.
Ce comportement ne fonctionne pas avec dev.off()
. Si ma fonction de traçage appelle toujours dev.off()
, elle risque de fermer par inadvertance la fenêtre X11()
et de créer un tracé dans le périphérique RStudio. Si j'appelle toujours dev.off()
suivi de X11()
, le tracé sera toujours dans une nouvelle fenêtre, même si je souhaite tracer dans le périphérique RStudio.
D'ordinaire, cela pourrait être résolu avec getOption("device")
, cependant, cela retourne toujours RStudioGD
.
Vous voyez? L'idée est que vous les sauvegardiez tels quels quand vous les avez trouvés, puis que vous les restauriez:
old.par <- par(mar = c(0, 0, 0, 0))
## do plotting stuff with new settings
Maintenant, restaurez ce qu’ils étaient avant de changer mar
:
par(old.par)
Dans RStudio, vous pouvez simplement naviguer vers "Parcelles" et sélectionner "Supprimer les parcelles".
Si vous avez déjà manqué d'enregistrer les paramètres par défaut au démarrage et que vous ne voulez pas redémarrer la session, vous pouvez ouvrir un terminal et exécuter R en (généralement) en tapant R.
Puis tapez:
par()
Cela affichera toutes les valeurs par défaut.
Vous pouvez les enregistrer dans un fichier texte et les importer dans l'espace de travail dans lequel vous travaillez actuellement.
une simple fonction contenant tous les défauts peut faire le travail:
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)
}
appelez-le en utilisant:
reset_par()
La réponse canonique était seulement dans un commentaire (par Cookie), et pourrait facilement être oubliée:
Obtenir les paramètres actuels/par défaut
old.par <- par(no.readonly = TRUE)
Définissez-les dans votre code, par exemple.
par(mai=c(0,0,0,0))
Et puis vous pouvez réinitialiser les pairs avec
par(old.par)
Ou, dans une fonction
on.exit(par(old.par))
Pour les marges, par fournit une valeur par défaut de c (5,4,4,2) +0,1. Ce qui suit devrait réinitialiser les marges aux valeurs par défaut.
par(mar=c(5,4,4,2)+0.1)