将VennDiagram输出保存到svg

将VennDiagram输出保存到svg,r,svg,venn-diagram,R,Svg,Venn Diagram,我正在尝试使用软件包VennDiagram_1.6.20 这是我正在使用的代码片段: library(VennDiagram) A <- c("AT1G01050", "AT1G01100","AT1G01370","AT1G01510","AT1G01630","AT1G01650","AT1G01820", "AT1G01920","AT1G01940","AT1G01960","AT1G02090", "AT1G02100","AT1G02120","AT1G02130",

我正在尝试使用软件包
VennDiagram_1.6.20

这是我正在使用的代码片段:

library(VennDiagram)
A <- c("AT1G01050", "AT1G01100","AT1G01370","AT1G01510","AT1G01630","AT1G01650","AT1G01820",
   "AT1G01920","AT1G01940","AT1G01960","AT1G02090", "AT1G02100","AT1G02120","AT1G02130",
   "AT1G02140","AT1G02280","AT1G02410","AT1G02500","AT1G02560","AT1G02690","AT1G02740","AT1G02780", 
   "AT1G02840","AT1G03330","AT1G03360","AT1G03860","AT1G03900","AT1G03910","AT1G04080","AT1G04170",
   "AT1G04190","AT1G04250","AT1G04270", "AT1G04410","AT1G04430","AT1G04480","AT1G04510","AT1G04630",
   "AT1G04690","AT1G04710","AT1G04750","AT1G04810","AT1G04820","AT1G04860", "AT1G04870","AT1G04900",
   "AT1G04945","AT1G04980","AT1G05055","AT1G05180")
B <- c("AT1G01050","AT1G01100","AT1G01120","AT1G01370","AT1G01510","AT1G01630","AT1G01650","AT1G01820","AT1G01940","AT1G01960","AT1G02090","AT1G02100","AT1G02140","AT1G02280","AT1G02500","AT1G02560","AT1G02690","AT1G02740","AT1G02780","AT1G02840","AT1G03150","AT1G03330", "AT1G03360","AT1G03860","AT1G03870","AT1G03900","AT1G03910","AT1G04080","AT1G04170","AT1G04190","AT1G04250","AT1G04270","AT1G04410", "AT1G04430","AT1G04480","AT1G04510","AT1G04630","AT1G04690","AT1G04730","AT1G04750","AT1G04810","AT1G04860","AT1G04870","AT1G04900","AT1G04945","AT1G04980","AT1G05055","AT1G05180","AT1G05190","AT1G05210")

ect3_roots_vd <- venn.diagram(
    x = list(A, B),
    filename = "ect3_roots_vd.svg",
    height = 10,
    width = 10,
    resolution = 300,
    imagetype = "svg",
    units = "in",
    category.names = c("roots_ect3" , "roots_te234"),
    print.mode = c("raw", "percent"),
    main="triple vs single mutant roots - ect3",
    main.cex = 2,
    fill = c('#a50026', '#fdae61')
)
Ant返回与上面相同的结果:如果我用空格键“单击它”,我可以看到绘图,但这次,当我打开它时,Ai抛出一个错误,甚至没有打开文件

我的R sessionInfo是:

R版本3.5.2(2018-12-20)
平台:x86_64-apple-darwin15.6.0(64位)
正在运行:macOS Mojave 10.14.3


所以,我解决了这个问题。我将
filename
参数设置为
NULL
,并使用
ggsave
device=“svg”
保存绘图。现在我可以在illustrator中打开该文件并根据自己的喜好进行修改

my_plot <- venn.diagram(x=list(A, B) , 
                          filename = NULL, 
                          fill=c("#283148", "#913535"), 
                          alpha=c(0.8,0.8),
                          euler.d = TRUE,
                          scaled = TRUE,
                          cat.fontfamily = "sans",
                          cat.cex = 1,
                          lwd = c(0.3, 0.3),
                          category.names=c("A", "B"), 
                          #cat.just=list(c(1,-40) , c(0.4,-40)),
                          print.mode = c("raw", "percent"),
                          fontfamily = "sans",
                          main="Overlap between A and B",
                          main.fontfamily = "sans",
                          main.cex = 1,
                          cex = 0.9,
                          width = 10,
                          height = 10,
                          units = "in")

ggsave(my_plot, file="my_plot.svg", device = "svg")

my_plot请添加您正在加载的
库,以使用
venn.diagram
函数和一些函数。尝试使用
gridSVG::grid.export
绘制绘图后,在绘图中也使用“`file=NULL`”。@patL完成后,我添加了库和我的一个小示例lists@user20650我添加了这一行:
grid.newpage()
在运行代码之前(与上面的代码相同,但带有
filename=NULL
)和
grid.export(name=“ect3\u root\u vd.svg”)
就在绘图之后,现在我得到了错误:grobToDev.default中的错误(gTree,dev):我们不应该在这里!我遵循了这里的建议:[但没有设法修复它。@CarlottaPorcelli;如果是错误,您需要绘制绘图;一些简化的代码:
library(VennDiagram);library(gridSVG);ect3_roots\vd
my_plot <- venn.diagram(x=list(A, B) , 
                          filename = NULL, 
                          fill=c("#283148", "#913535"), 
                          alpha=c(0.8,0.8),
                          euler.d = TRUE,
                          scaled = TRUE,
                          cat.fontfamily = "sans",
                          cat.cex = 1,
                          lwd = c(0.3, 0.3),
                          category.names=c("A", "B"), 
                          #cat.just=list(c(1,-40) , c(0.4,-40)),
                          print.mode = c("raw", "percent"),
                          fontfamily = "sans",
                          main="Overlap between A and B",
                          main.fontfamily = "sans",
                          main.cex = 1,
                          cex = 0.9,
                          width = 10,
                          height = 10,
                          units = "in")

ggsave(my_plot, file="my_plot.svg", device = "svg")