2015-05-17 3 views
0

Я хотел бы сделать много диаграмм Венна на одном участке в R. Я пробовал использовать пакеты venneuler (и используя пар (mfrow = c (2,1))), однако мне бы хотелось что круг на одной диаграмме венна имеет одинаковый размер во всех диаграммах - если значение одно и то же.Несколько vennDiagrams на одном участке R

Когда я

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)))

Я получаю enter image description here

Но А в первом участке, должна быть такой же размер, как А и С во втором

+0

Но какой размер должен быть B на первом графике тогда? – John

+0

@TylerRinker: Но это все равно даст тот же результат. Проблема в том, что наибольшая ценность в каждой vennDiagram задана для заполнения всего графика. Джон: B должен иметь площадь в 8 раз большую, чем A и C – user2335015

+0

Я пробовал несколько методов, но я думаю, вам, возможно, придется прибегнуть к перекодировке 'venneuler ::: plot.VennDiagram' вручную. К счастью, это относительно коротко, и включение некоторых соображений 'xlim' и' ylim' не должно быть слишком сложным ... – r2evans

ответ

0

Вы можете сделать это с версией разработки моего пакета r eulerr. Он возвращает объекты решетки, которые могут использоваться вместе с, например, latticeExtra, чтобы объединить несколько графиков в один. Вот пример.

# devtools::install_github("jolars/eulerr") 

library(eulerr) 
library(latticeExtra) 

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

c(p1, p2, x.same = TRUE, y.same = TRUE) 

enter image description here

Смежные вопросы