Je peux être parti avec cette réponse, puisque vous ne fournissez pas un exemple reproductible; au moins, votre code venn.plot me donne ceci:
Error in draw.triple.venn(area1 = leftLen, area2 = rightLen, area3 = midLen, :
object 'leftLen' not found
et ne nous fournissez pas l'erreur que vous obtenez. Cependant, en regardant comment vous appelez votre venn.plot, je pense que cela pourrait être le problème. Si vous regardez le VennDiagram reference manual vous pouvez voir que vous n'avez pas besoin (ou peut-être pas?) D'utiliser plot() pour tracer votre diagramme. Ils utilisent grid.draw().
Donc, essayez ceci sur l'un des exemples simples dans leur manuel:
library(VennDiagram)
venn.plot <- draw.pairwise.venn(100, 70, 30, c("First", "Second"))
plot(venn.plot)
Ce code me donne l'erreur suivante.
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' is a list, but does not have components 'x' and 'y'
Est-ce l'erreur dont vous avez parlé?
Le code suivant cependant
grid.draw(venn.plot)
tire bien votre diagramme de Venn.
Sur quoi ils lingette souvent l'ardoise avec
grid.newpage()
pour éviter de traçage Venn au-dessus de Venn.
Sauvegarde du diagramme de Venn en EPS puis se résume simplement à ceci:
setEPS()
postscript(file = "ExampleVenn.EPS", fonts = "serif")
grid.draw(venn.plot)
dev.off()
I ajouté polices = "serif" à l'appel postscript pour éviter une erreur en disant
Error in grid.Call.graphics(L_text, as.graphicsAnnot(x$label), x$x, x$y, :
family 'serif' not included in postscript() device
Lorsque vous obtenir cette erreur les étiquettes dans votre diagramme ne sont pas enregistrées dans le fichier EPS.
J'espère que cela aide à résoudre votre problème.