Я построил приведенную ниже диаграмму Венна, используя код.
# Venn Diagram
grid.newpage();
venn.plot4 <- draw.quad.venn(
area1 = 849, area2 = 7181, area3 = 1776, area4 = 6254,
n12 = 0, n13 = 849, n14 = 0, n23 = 927, n24 = 6254, n34 = 0,
n123 = 0, n124 = 0, n134 = 0, n234 = 0,
n1234 = 0,
category = c("A", "B", "C", "D"),
fill = c("orange", "red", "green", "blue"),
lty = "dashed",
cex = 2,
cat.cex = 2,
cat.col = c("orange", "red", "green", "blue")
);
grid.draw(venn.plot4);
Есть много непересекающихся областей (0). Не могли бы вы предложить способы настройки геометрических фигур в соответствии с перекрывающимися областями?
EDIT После рассмотрения предложений @zx8754 я попытался построить график с использованием пакета venneuler
. Выглядит лучше, чем предыдущий сюжет. Но тем не менее, перекрывающиеся области A и C не отражают фактические значения (A должен полностью быть частью C). Я даже не мог видеть варианты нанесения чисел на график. Любые предложения приветствуются.
# including the null values
vd <- venneuler(c(A=849, B=7181, C=1776, D=6254,
"A&B"=0, "A&C"=849, "A&D"=0, "B&C"=927, "B&D"=6254, "C&D"=0))
plot(vd)
Я также пробовал пакет d3vennR
с приведенным ниже кодом.
venn_tooltip(
d3vennR(
data = list(
list(sets= list('A'), size= 849),
list(sets= list('B'), size= 7181),
list(sets= list('C'), size= 1776),
list(sets= list('D'), size= 6254),
list(sets= list('A','B'), size= 0),
list(sets= list('A','C'), size= 849),
list(sets= list('A','D'), size= 0),
list(sets= list('B','C'), size= 927),
list(sets= list('B','D'), size= 6254),
list(sets= list('C','D'), size= 0)
)
,layoutFunction = '
function(d) { return venn.venn(d, { initialLayout: venn.classicMDSLayout });}
'
))
Хотя между областями B
и C
есть перекрытие, мы могли видеть, что на выходе нет перекрытия. Посоветуйте, как это исправить?
d3vennR
Кента Рассела может оказаться полезным. - person RHertel   schedule 03.07.2015