【问题标题】:multiple vennDiagrams in one plot R一个图中的多个 vennDiagrams R
【发布时间】:2015-07-29 02:43:59
【问题描述】:

我想在 R 中的一个图中制作许多维恩图。 我尝试使用 venneuler 包(并使用 par(mfrow=c(2,1))),但是我希望一个 venn 图中的圆圈在所有图中都具有相同的大小 - 如果值相同。

当我这样做时

require(venneuler) par(mfrow=c(2,1)) plot(venneuler(c(A=1, B=8, "A&B"=1))) plot(venneuler(c(A=1, C=1, "A&C"=1)))

我明白了

但第一个图中的 A 应该与第二个图中的 A 和 C 大小相同

【问题讨论】:

  • 那么第一个图中 B 的大小应该是多少?
  • @TylerRinker:但这仍然会给出相同的结果。问题是每个 vennDiagram 中的最大值被设置为填充整个图。约翰:B 的面积应该是 A 和 C 的 8 倍
  • 我尝试了一些技术,但我认为您可能不得不求助于手动重新编码venneuler:::plot.VennDiagram。幸运的是,它相对较短,结合xlimylim 的一些认识应该不会太难......
  • ... 问题可能出在venneuler() 本身,它似乎正在为您进行自动缩放。该功能需要修改更多工作。也许您可以联系maintainer?不过,它已经快四年没有动过了……
  • 是的,这正是我的问题。有谁知道有没有venndiagram包,在哪里可以选择自己的缩放比例?

标签: r plot venn-diagram


【解决方案1】:

您可以使用我的 r 包 eulerr 完成此操作。它返回可以使用出色的 gridExtra 包排列的网格图形对象。

library(eulerr)

p1 <- plot(euler(c(A = 1, B = 8, "A&B" = 1)))
p2 <- plot(euler(c(A = 1, C = 1, "A&C" = 1)))

gridExtra::grid.arrange(p1, p2)

【讨论】:

  • 此代码不会生成您链接到的情节,如何生成情节?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-05
  • 2015-12-06
  • 2020-11-22
  • 1970-01-01
  • 2020-03-01
  • 1970-01-01
相关资源
最近更新 更多