【发布时间】:2013-01-17 17:38:05
【问题描述】:
我有一组微阵列数据,我想按照附图(用PowerPoint完成)来表示。我已经尝试了可用于 R 的各种软件包(VennDiagram、venneuler、limma)。但是,我无法按比例绘制数据或显示值。
有人知道怎么做吗?
可以在下面找到要玩的代码!
谢谢!
# you might need these:
source("http://www.bioconductor.org/biocLite.R")
biocLite("limma")
library(VennDiagram)
library(limma)
library(venneuler)
# Trial 1: Kind of proportional but difficult to customize for labels and other stuff
su <- venneuler(c(A=162, B=104, C=86, "A&B"=206, "A&C"=112, "B&C"=90 ,"A&B&C"=2433))
plot(su)
# Trial 2: looks nice but not proportional
hw <- c(F,F,F,F,T,T,T,T)
hm <- c(F,F,T,T,F,F,T,T)
hr <- c(F,T,F,T,F,T,F,T)
c4 <- cbind(hw,hm,hr)
e <- vennCounts(c4)
e[1:8,4] <- c(3193,86,104,90,162,112,206,2433)
vennDiagram(e)
【问题讨论】:
-
我不认为维恩图旨在显示比例区域。无论如何,您的读者几乎不可能以有意义的方式解释重叠的相关区域。如果可以的话,您一开始就不需要这些数字。我的建议是退后一步,想想你想要传达的主要信息,并调整(必要时手动)图形以突出显示该信息。 ——是的,Ed Tufte 是我的先知 :-)
-
我认为在某些情况下使用比例可能会有所帮助,尽管并非完全如此。
-
venneuler的文档很差,但是你可以用su$labels = c("Foo", "Bar", "Baz")修改标签,用su$colors = c(0.1, 0.44, 0.3)修改颜色等。但是,我认为不可能绘制比例维恩图三组使用圆圈。只有六个参数(三个半径,以及连接圆心的三角形的三个边),它们试图代表七个不同的区域。但是,它可能(?)可能与其他形状一起使用,例如省略号。我找到了eulerAPE,但对我来说效果不佳。
标签: r plot venn-diagram