Как сохранить объект через GGally в R

У меня есть довольно глупый вопрос, чтобы задать всем.

Я использую ggpairs под GGally для создания корреляционной матрицы, и каким-то образом я обнаружил, что GGally не предоставляет функцию сохранения, как это делал ggplot2. Функция ggsave не работала для объекта, отличного от ggplot2. Я пытался использовать pdf или png, но они не работали. Мне интересно, легко ли сохранить это изображение в локальный файл? Спасибо за вашу помощь.


person Xinting WANG    schedule 30.10.2014    source источник
comment
Не могли бы вы использовать getPlot для получения объекта ggplot, а затем использовать ggsave для этого объекта?   -  person CMichael    schedule 30.10.2014
comment
Что-то похожее на: graph <- ggplot... затем ggsave("mygraph.png", graph, width = 6, height = 6)   -  person KFB    schedule 30.10.2014
comment
@KFB Но ggsave не распознает объект, который не является объектом ggplot2. Я пытался использовать это, но это не работает.   -  person Xinting WANG    schedule 30.10.2014
comment
Повторяя мой комментарий: getPlot от GGally возвращает объект ggplot.   -  person CMichael    schedule 30.10.2014


Ответы (1)


Хотя комментарий @CMichael хорош (я этого не знал, поэтому +1), он применим только в том случае, если вы хотите сохранить конкретный график из матрицы графика, созданной GGally. Я полагаю, что вы хотели бы сохранить всю матрицу сюжета - потребность, которую недавно испытал и я. Следовательно, вы можете использовать стандартный подход R и сохранить графику, открыв соответствующее (в нужном формате) графическое устройство, распечатав объект и закрыв устройство, что эффективно сохранит графику в нужном формате.

# use pdf() instead of svg(), if you want PDF output
svg("myPlotMatrix.svg", height = 7, width = 7)
g <- ggpairs(...)
print(g)
dev.off()
person Aleksandr Blekh    schedule 18.11.2014
comment
Это работает! На самом деле метод, предоставленный @CMichael, также работает, но может получить только часть сюжета. Хотя, если вы хотите сохранить всю матрицу, это решение. - person Xinting WANG; 10.12.2014
comment
Спасибо! Не стесняйтесь голосовать, если вам нравится мой ответ :-). - person Aleksandr Blekh; 10.12.2014