使用VennDiagram包尝试在R中创建维恩图时出错

时间:2017-09-02 19:27:47

标签: r venn-diagram

我已经下载并且可以在R中成功加载VennDiagram包。我目前正在尝试使用此包生成一些示例代码,其中包含此包的作者提供的示例代码。但是,对于我尝试使用的任何示例代码,不会生成任何图形,并且唯一的屏幕输出是:

[1] 1

我找到了以下信息性帖子:Problems with VennDiagram?

...但是第一个建议的故障排除步骤,确认我们可以通过将对venn.diagram()的调用分配给临时变量然后调用grid.draw(temp)来绘制屏幕上的图[下面显示的完整代码],导致错误消息

Error in UseMethod("grid.draw") : 
  no applicable method for 'grid.draw' applied to an object of class "c('double', 'numeric')"

我的测试代码是:

library(VennDiagram);
library(grid);

temp <- venn.diagram(
    x = list(
        A = 1:100,
        B = 1:10
        ),
    filename = "2-2_special_case_pairwise-inclusion.tiff",
    cex = 2.5,
    cat.cex = 2.5,
    cat.pos = 0
    );

grid.draw(temp)

解决此错误消息的其他线程建议应该修改grid.draw()的参数,但我不确定为什么上面的示例如果不起作用就会被建议和接受,并且网格.draw文档(https://www.rdocumentation.org/packages/grid/versions/3.4.1/topics/grid.draw)似乎并不表示需要修改。

上述问题适用于此软件包作者提供的所有示例,因此对于对venn.diagram()的一次特定调用,这不是问题。

提前感谢您提出的任何建议。

1 个答案:

答案 0 :(得分:1)

temp在您的示例中是数字,因为您只是在文件系统上创建一个文件并返回1以告诉您它是否有效。

不要给grid.draw数字1,而是给它一些东西:)

temp <- venn.diagram(
  x = list(
    A = 1:100,
    B = 1:10
  ),
  filename =NULL,
  cex = 2.5,
  cat.cex = 2.5,
  cat.pos = 0
);


grid.draw(temp)

enter image description here