【问题标题】:How to display both raw and percent in Venn diagram如何在维恩图中同时显示原始和百分比
【发布时间】:2017-10-17 01:05:57
【问题描述】:

我正在使用函数draw.triple.venn()library(VennDiagram) 绘制维恩图。这是我在 R 中的代码:

g = draw.triple.venn(area1 = 4.1, area2 = 5.6, area3 = 15.9, n12 = 1.3, n23 = 4.2, n13 = 2.3, n123 = 1.2, category = c("Landuse", "Environment", "Space"), fill = c("darkgray", "gray", "lightgrey"), print.mode = c("percent", "percent", "percent"), sigdig=2, ind = T)
grid.arrange(gTree(children=g))

这是当前的图:

现在,我想同时显示每个分数的“百分比”和“原始”。在包描述中它指出:“print.mode”可以是“raw”或“percent”。这是打印数字的格式。可以传入一个向量,第二个元素打印在第一个元素的下方。

这似乎表明“原始”和“百分比”可以一起显示。有关如何执行此操作的任何建议?

另外,我怎样才能控制一致使用的位数,即有 56.0%(而不是 56%)和 0.5%(而不是 0.53%)?我设置了 sigdig=2,我认为这会强制该空间保持一致。

此外,有没有办法控制每个部分的填充颜色(与只有 3 种颜色的向量相比)?

最后,有没有办法手动添加文字?我想注意左下角残差变化的比例。

这是包https://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf的链接

非常感谢任何帮助。

【问题讨论】:

  • 关于如何做到这一点的任何建议?print.mode = c("raw", "percent") 似乎有效。 最后,有没有办法手动添加文字?grid::grid.text("some label", x=0.1, y=0.1)此外,有没有办法控制每个分数的填充颜色,我认为并不容易,但stackoverflow.com/questions/43963293/… 显示了一种方法。
  • 关于添加文本:您是否以正确的顺序运行代码?还提到here,您需要先运行grid.arrange(gTree(children=g)) 或以任何方式打印绘图,然后运行'grid::grid.text("some label", x=0.1, y=0.1)'。如果我以这种方式运行您的代码,加上 grid.text 位,它会在图的左下角很好地显示“一些标签”。
  • 正如你所建议的,我不得不颠倒顺序。感谢您提供代码并发现我的错误。
  • ps...您不需要grid.arrange(gTree(children=g)),只需grid::grid.draw(g) 即可。 (并使用grid::grid.newpage() 绘制新情节),虽然我认为triple.venn 会自动绘制

标签: r plot annotations partitioning venn-diagram


【解决方案1】:

使用print.mode = c("raw", "percent") 可以同时包含原始值和百分比值。

函数grid::grid.text("some label", x=0.1, y=0.1) 用于手动添加文本。

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    相关资源
    最近更新 更多