6

在将绘图的输出转移到 PDF(或其他)文件时,如何进行分页,以便强制在新页面上绘制新绘图?

使用普通plot()ggplot()函数会自动在新页面上绘制新图。但是我正在使用包VennDiagram来绘制一些维恩图。问题是,当我尝试制作多个图表时,它们都绘制在同一页面上:

library("VennDiagram")
pdf("foo.pdf")
draw.pairwise.venn(area1 = 100, area2 = 100, cross.area = 20, 
    category = c("A", "B"), fill = c("blue", "red"), lty = "blank")

draw.pairwise.venn(area1 = 200, area2 = 200, cross.area = 100,
    category = c("C", "D"), fill = c("blue", "red"), lty = "blank")
dev.off()

这是结果,而我想将不同页面上的图分开:

在此处输入图像描述

4

1 回答 1

10

您可以强制使用新页面grid.newpage()

pdf("foo.pdf")
draw.pairwise.venn(area1 = 100, area2 = 100, cross.area = 20, 
    category = c("A", "B"), fill = c("blue", "red"), lty = "blank")
grid::grid.newpage()
draw.pairwise.venn(area1 = 200, area2 = 200, cross.area = 100,
    category = c("C", "D"), fill = c("blue", "red"), lty = "blank", add=FALSE)
dev.off()

本质上,VennDiagram使用网格图形来处理绘图方面。因此,我们只是强制使用grid.newpage().

于 2013-01-04T13:08:14.537 回答