Есть ли команда для экспорта текущего графика? - программирование
Подтвердить что ты не робот

Есть ли команда для экспорта текущего графика?

Я создаю целый беспорядок диаграмм и хотел бы экспортировать созданные диаграммы в формате PDF. Можно щелкнуть "экспорт" на вкладке "График" в rstudio и вручную выбрать "сохранить график как PDF", конечно, и я бы предпочел не обертывать каждый из моих разделов в pdf()/dev.off().

В идеале мне нужна функция, которая будет отображать отображаемый в данный момент график в RStudio и сохранять его с параметрами, которые мне нужны (формат/имя_файла/ширина/высота).

Мысли?

Обновление

В соответствии с предложением @naught101 - для PDF файла размером 5x7 (дюйм!), который является удобным размером, который будет вставлен в документ A4 Word, хорошо работает следующее:

dev.copy2pdf(file="example.pdf", width = 7, height = 5)

Еще лучше, как легко называемая функция с размерами по умолчанию:

dopdf <- function(filename = "dopdf.pdf", pdf.width = 7, pdf.height = 5) {
 dev.copy2pdf(file=filename, width = pdf.width, height = pdf.height)
}

При использовании ggplot2 позволило бы мне сохранить с помощью функции ggsave, dev.copy2pdf - это хорошее общее решение (отвечающее на мой исходный вопрос).

4b9b3361

Ответ 1

Я думаю, что вы ищете dev.copy2pdf. Это позволяет скопировать текущее устройство в pdf, используя те же аргументы, что и pdf(). Работает так же хорошо, как и для базовых функций построения, как для ggplot2 (и любых других графических библиотек, которые используют стандартные графические устройства grDevice, по внешнему виду).

Ответ 2

Если вы используете ggplot2, вы можете использовать функцию ggsave для сохранения текущего графика. Эта функция позволяет вам выбирать ширину, вершину и т.д. Полученного графика (PDF, png или другое). Если вы не используете ggplot2, то функция savePlot может использоваться для получения аналогичной функциональности, хотя справочная страница предполагает, что она работает только на устройствах cairo X11.