Площадь пропорциональная 3-сторонняя диаграмма Венна в R

Я прочитал немало тем о создании диаграммы Венна в R. Можно ли создать пропорциональную тройную диаграмму Венна, рассказывающую об использовании eulerr пакет. Пропорциональная диаграмма Венна и цветопередача с полупрозрачностью очень полны и помогли мне с множеством других нужных мне графиков.

Хотя вышеприведенные темы фантастичны, я считаю, что есть одна проблема, которая до сих пор не решена вышеуказанными темами. Это происходит, когда пересечение трех наборов представляет огромную часть общей площади. В моем случае, R&S&W составляет 92% от общей площади. Следовательно, график незаметен и безобразен. Есть ли способ, как мы можем это исправить?

Вот мои данные и код:

dput(Venn_data)
structure(c(94905288780.4383, 3910207511.54001, 2615620176.44757, 
1125606833.85568, 187542691.618916, 104457994.331746, 96049675.0823557
), .Names = c("R&S&W", "R&S", "S&W", "S", "R", "W", "R&W"))

VennDiag2 <- eulerr::euler(Venn_data,shape="ellipse")
windows()
plot(VennDiag2)

Вот вывод:

Диаграмма Венна

Я не вижу, что такое R&S, S&W, R, S, W и т. Д.

Я тоже пробовал venneuler пакет.

Вот мой код:

windows()
 v<-venneuler(Venn_data)
 plot(v)

К сожалению, это тоже не помогло. Вот вывод.

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

1 ответ

Решение

Вы всегда можете получить параметры графика самостоятельно и расположить метки, используя стрелки или что-то еще, но другой вариант будет использовать легенду вместо меток.

plot(VennDiag2, legend = TRUE)

В некоторой степени сомнительно, есть ли здесь вообще какая-то польза для диаграммы Эйлера.

В пакете nVennR, который я опубликовал несколько месяцев назад, есть другая стратегия визуализации:

library(nVennR)
v <- createVennObj(nSets = 3, sNames = c('R', 'S', 'W'), sSizes = c(0, 104457994.331746, 1125606833.85568, 2615620176.44757, 187542691.618916, 96049675.0823557, 3910207511.54001, 94905288780.4383))
v <- plotVenn(nVennObj = v)

Я не ожидал необходимости в таких больших количествах, и я вижу, что они обрезаны. Тем не менее, результатом является векторное изображение (svg), и изображение может быть отредактировано впоследствии. Вы можете найти более подробную информацию, в том числе, почему номера в таком порядке, в виньетке. Пакет также может обрабатывать большее количество наборов.

Другие вопросы по тегам