Предупреждения при восстановлении графических параметров

Я пишу свой первый R-пакет и в настоящее время работаю над функцией построения графика с использованием определенных графических параметров. Я хочу, чтобы пользовательские графические параметры восстанавливались после построения графика, но всегда получали одинаковые предупреждающие сообщения:

opar <- par()
par(oma = c(5, 4, 0, 0) + 0.1, mar = c(0, 0, 1, 1) + 0.1)
par(opar)

Предупреждающие сообщения:
1: В пар (опар): графический параметр "cin" не может быть установлен
2: В пар (опар): графический параметр "cra" не может быть установлен
3: В par(opar): графический параметр "csi" не может быть установлен
4: В par(opar): графический параметр "cxy" не может быть установлен
5: В пар (опар): графический параметр "din" не может быть установлен
6: В пар (опар): графический параметр "страница" не может быть установлен

Есть ли лучший способ сделать это? Я знаю suppressWarnings() функция, но 1. Я не хочу, чтобы сообщения были скрыты, и 2. если функция вызывается два раза, появляется предупреждение:

> There were 12 warnings (use warnings() to see them)

2 ответа

Решение

... в моих комментариях было просто место для того, что вы намереваетесь вставить туда. (Я склонен думать, что много кода в комментариях может быть трудно читать, поэтому я просто сократил его.)

В прямом смысле:

opar <- par(oma = c(5, 4, 0, 0) + 0.1, mar = c(0, 0, 1, 1) + 0.1)
# other code that uses those settings
# when you are ready to reset to the original settings for oma and mar,
par(opar)

Это предусмотрено в похожем примере в документе, ?par,

Вы можете обойти эти предупреждения, предоставив no.readonly = TRUE при сохранении графических параметров, следующим образом:

opar <- par(no.readonly = TRUE)
par(oma = c(5, 4, 0, 0) + 0.1, mar = c(0, 0, 1, 1) + 0.1)
par(opar)

Также вы можете восстановить дефолт par значения параметров с использованием dev.off(),

Надеюсь, поможет.

Другие вопросы по тегам