前面給大家簡單介紹過?韋恩圖,以及?零代碼韋恩圖,韋恩餅圖,upset圖,導出交集。當然我們也可以用R代碼來繪制韋恩圖,在前面的文章?韋恩圖中我們就講解了VennDiagram這個函數(shù)。這個函數(shù)有個小小的問題,默認情況下它會把畫出來的圖保存到tiff文件中。從這個函數(shù)的說明文檔中就可以看到

我們可以看看默認效果
library(VennDiagram)
venn.diagram(
x = list (
A = 1:10,
B = 6:25
),
cat.col=c("red","blue"),
fill = c("red","blue"),
filename = "venn.tiff"
)
下面是我們得到的結(jié)果

仔細看下venn.diagram這個函數(shù)的參數(shù)說明,可以發(fā)現(xiàn)imagetype這個參數(shù)除了默認的tiff以外,還可以是png或者是svg。其中tiff和svg其實是矢量圖,可以滿足發(fā)表要求,png是位圖,不能放到文章中。

那么除了這里提到的幾種格式以外,我個人還是比較傾向于把圖直接畫到pdf文件中的,因為pdf是矢量圖,是肯定滿足發(fā)表要求的。但是函數(shù)本身的參數(shù)無法滿足這個要求,那么我們只能借助另外的函數(shù)了
#將filename設(shè)置成NULL
#將畫出來的圖先保存到venn.plot中
venn.plot <- venn.diagram(
x = list (
A = 1:10,
B = 6:25
),
cat.col=c("red","blue"),
fill = c("red","blue"),
filename = NULL
)
#將venn.plot通過grid.draw畫到pdf文件中
pdf("venn.pdf")
grid.draw(venn.plot)
dev.off()
下面是得到的結(jié)果
