使用库(VennDiagram)保存.EPS文件?

时间:2017-07-22 18:41:25

标签: r eps venn-diagram

我使用以下代码生成EPS

venn.plot = draw.triple.venn( area1=leftLen, area2=rightLen, area3=midLen, n12=(left_rightLen+allIntersectLen), n23=(right_midLen+allIntersectLen), n13=(left_midLen+allIntersectLen), n123=allIntersectLen, category = c("Left Leaning", "Right Leaning", "Central"), lty="blank", fill = c("blue", "red", "purple") )

如何将其保存为EPS文件?我试着做了

setEPS()
postscript( filePathForEpsFile )
plot( venn.plot )

我得到一个错误。我怎么能把它保存为EPS文件?

1 个答案:

答案 0 :(得分:0)

我可能会回答这个问题,因为你没有提供可重复的例子;至少,你的venn.plot代码给了我这个:

Error in draw.triple.venn(area1 = leftLen, area2 = rightLen, area3 = midLen,  : 
  object 'leftLen' not found

你也没有向我们提供你得到的错误。

然而,看看你如何称呼你的venn.plot,我想这可能是问题所在。如果您查看VennDiagram reference manual,您可以看到您不需要(或者可能不应该?)使用plot()来绘制图表。他们使用grid.draw()。

所以,试试这本手册中的一个简单例子:

library(VennDiagram)
venn.plot <- draw.pairwise.venn(100, 70, 30, c("First", "Second"))
plot(venn.plot)

此代码给出了以下错误。

Error in xy.coords(x, y, xlabel, ylabel, log) : 
  'x' is a list, but does not have components 'x' and 'y'

这是你说的错误吗?

以下代码

grid.draw(venn.plot)

很好地绘制你的维恩图。 ExampleVenn

他们常常用

擦拭石板
grid.newpage()

避免在维恩上方绘制维恩。

将维恩图保存为EPS然后简单归结为:

setEPS()
postscript(file = "ExampleVenn.EPS", fonts = "serif")
grid.draw(venn.plot)
dev.off()

我在postscript调用中添加了fonts =“serif”,以避免出现错误

Error in grid.Call.graphics(L_text, as.graphicsAnnot(x$label), x$x, x$y,  : 
  family 'serif' not included in postscript() device 

当您收到此错误时,图表中的标签不会保存到EPS文件中 我希望这有助于解决您的问题。