这可能是cairoDevice包的错误。我正在使用这个软件包生成抗锯齿图,用于审美目的。
以下简化代码在作为for循环运行时不起作用:
for (j in 1:4) {
Cairo(
width = 12,
height = 4,
file = paste0("Test", j, ".png"),
surface = "png"
)
qplot(1:j)
dev.off()
}
上面代码的结果是4个完全黑色的.png图像,尺寸为12x4。
但是通过简单地选择循环的内容来运行它就可以正常工作(需要通过在控制台中将j递增1来手动迭代)。
看起来Cairo()根本不喜欢循环。我尝试使用Sys.sleep(2)为cairo执行提供额外的时间,但它不起作用。
答案 0 :(得分:0)
不确定为什么它不起作用,但为什么要使用Cairo来生成png文件? R已经有png()
设备。