Диаграмма Венна, как раскладывать круги и показывать названия ярлыков - PullRequest
1 голос
/ 04 августа 2020

Я борюсь с VennDiagram , чтобы показать мои данные. Я пытаюсь нарисовать 3 круга и показать метки, но всегда получаю очень много перекрывающихся кругов, что затрудняет понимание. и когда я пытался показать ярлыки, они показывались только для некоторых, и они не на своем месте. ниже мой код и вывод:

library(VennDiagram)

data_venn22 <- read.csv('https://srv-file8.gofile.io/download/tRddKd/data_venn.csv',
                        sep=";",header = TRUE)

AA <- as.character(data_venn22$C1[!is.na(data_venn22$C1)])
BB <- as.character(data_venn22$C2[!is.na(data_venn22$C2)])
CC <- as.character(data_venn22$C3[!is.na(data_venn22$C3)])
DD <- as.character(data_venn22$C4[!is.na(data_venn22$C4)])
EE <- as.character(data_venn22$C5[!is.na(data_venn22$C5)])

GR1  <- c(AA,BB)
GR2 <- c(EE,DD)
GR3 <- c(CC)

x <- list(GR1=GR1 , GR2=GR2 , GR3=GR3 )

ven_p <- venn.diagram( x, filename=NULL, 
                    fill = c("red", "blue", "green"),
                    alpha = 0.50,
                    col = "transparent")

#### Calculate overlap
overlaps <- calculate.overlap(x)

## label names
ven_p[[7]]$label <- paste(overlaps[[2]], collapse = "\n") 

ven_p[[9]]$label <- paste(overlaps[[1]], collapse = "\n") 

ven_p[[10]]$label <- paste(overlaps[[6]], collapse = "\n") 

grid.newpage()
grid.draw(ven_p)

вывод:

enter image description here

is it possible to have an output like this below? in which one could write the labels in boxes beside the plot or anywhere like table:

введите описание изображения здесь

РЕДАКТИРОВАТЬ:

в качестве альтернативы; можно ли распечатать результаты как dataframe, я имею в виду элементы, которые являются как обычными, так и необычными между кругами? в моем коде я смог вручную определить некоторые метки, но не все. например, я не идентифицировал номер 10.

...