Подтвердить что ты не робот

Невозможно распечатать графики pdf ggplot

Возможный дубликат:
Сгенерировать несколько графических объектов из R-функции

Очень странная вещь, которая происходит со мной: следующий код не может печатать на pdf-устройстве:

outnames <- c("1.pdf", "2.pdf")
for (n in outnames){
    pdf(n)
    qplot(1:10)
    dev.off()
}

ничего не печатает в pdf, даже если создается файл PDF. Тем не менее,

pdf(outnames[2])
qplot(1:10)
dev.off()

будет работать отлично. Любая идея почему? Воспроизводится в R 2.11.1.

4b9b3361

Ответ 1

Gappy, который пахнет как FAQ 7.22 - так что попробуйте print(qplot(1:10)).

Ответ 2

@Dirk объясняет, почему это происходит (автоматическая печать отключена), но альтернатива открытию устройства, создание графика на устройстве, закрытие устройства ggsave(). Например:

p1 <- qplot(1:10)
ggsave("p1.pdf", plot = p1)

или через цикл:

outnames <- c("1.pdf", "2.pdf")
for (n in outnames){
    p2 <- qplot(1:10)
    ggsave(n, plot = p2)
}

В конце этого мы имеем все сгенерированные графики, которые мы просили.

> list.files(pattern = ".pdf$")
[1] "1.pdf"                  "2.pdf"                 
[3] "p1.pdf"