【问题标题】:Loop does not finish saving pdf [duplicate]循环未完成保存 pdf [重复]
【发布时间】:2014-02-14 19:34:40
【问题描述】:

我正在写一个循环。循环的目的是创建许多图并将它们保存为PDF。选择我的数据子集后,我执行以下操作:

    pdf("path to the desired filename", width = 16, height = 7)

          some ggplot operations...

    dev.off()

如果我为我想要绘制的所有数据子集手动执行此操作,这本身就有效。如果我在循环中尝试此操作,PDF 设备会保存很多“空”图片。

我不明白为什么这不会循环工作。似乎循环不会等到绘图被正确导出。

【问题讨论】:

标签: r ggplot2


【解决方案1】:

这是一个常见问题。您需要在 for 循环中使用 print(...)

pdf("myfile.pdf")
for (i in 1:2) {
  ggplot(mpg, aes(x=cty, y=hwy))+geom_point()
}
dev.off()   #  myfile.pdf is empty (no pages)

pdf("myfile.pdf")
for (i in 1:2) {
  print(ggplot(mpg, aes(x=cty, y=hwy))+geom_point())
}
dev.off()   #  myfile.pdf has 2 pages.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 2020-11-27
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多