Площадь пропорциональная 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), и изображение может быть отредактировано впоследствии. Вы можете найти более подробную информацию, в том числе, почему номера в таком порядке, в виньетке. Пакет также может обрабатывать большее количество наборов.