Как разместить несколько графиков в R в отдельных файлах JPEG? - PullRequest
5 голосов
/ 01 июня 2011

Я хотел бы построить несколько графиков в отдельных растровых файлах, используя шаблон имени файла (например, для JPEG) file.%03d.jpg в R. Я попытался использовать что-то вроде:

somevar <- 1
jpg(paste(sep='',filename,'.%03d.jpg'))
while(somevar <= n)
{
  plot(data[somevar])
  dev.new()
  somevar <- somevar + 1
}
dev.off()

, но он создает один .jpg файл и несколько Rplotnnn.pdf файлов. Как я могу изменить устройство по умолчанию на jpg и использовать пользовательский шаблон имени файла?

Ответы [ 2 ]

6 голосов
/ 01 июня 2011

Я думаю, что это должно работать

somevar <- 1
while(somevar <= n) {
  jpg(sprintf("%s%03.jpg", filename, somevar))
  plot(data[somevar])
  dev.off()
  somevar <- somevar + 1
}

Печать идет от открытия устройства (здесь jpeg(...)) до dev.off(). Вы управляете именем файла (где я исправил использование от paste() до sprintf()) и циклом.

0 голосов
/ 01 июня 2011

Что произойдет, если вы удалите dev.new () из своего кода? Функция / устройство jpg должна генерировать несколько файлов в соответствии с вашим шаблоном, пока вы продолжаете писать на устройство jpg (вызов device.new запускает новое устройство каждый раз, отсюда и файлы pdf).

...