jolars / eulerr

Area-Proportional Euler and Venn Diagrams with Ellipses
https://jolars.github.io/eulerr/
GNU General Public License v3.0
129 stars 18 forks source link

eulerr fits my data wrong, not sure what is the problem #105

Closed hw1804 closed 1 year ago

hw1804 commented 1 year ago

I am making a 4 dimensional euler diagram. All 4 groups have unique proportions but somehow eulerr package drew one group inside another group.

Here is the discrete input:

glvenn_d <- c("Ato_gl" = 644, "Elav_gl" = 467, "Spa_gl" = 368, "gl_RNA_Seq" = 723, "Ato_gl&Elav_gl" = 343, "Ato_gl&Spa_gl" = 258, "Ato_gl&gl_RNA_Seq" = 37, "Elav_gl&Spa_gl" = 614, "Elav_gl&gl_RNA_Seq" = 71, "Spa_gl&gl_RNA_Seq" = 39, "Ato_gl&Elav_gl&Spa_gl" = 372, "Ato_gl&Elav_gl&gl_RNA_Seq" = 42, "Ato_gl&Spa_gl&gl_RNA_Seq" = 26, "Elav_gl&Spa_gl&gl_RNA_Seq" = 69, "Ato_gl&Elav_gl&Spa_gl&gl_RNA_Seq" = 37

glvd <- euler(glvenn_d) plot(glvd) And I got spa_gl inside Elav_gl.

Screenshot 2023-05-05 at 11 09 25 AM

The "union" style input is below if you are used to this format: glvenn <- c("Ato_gl" = 1759, "Elav_gl" = 2015, "Spa_gl" = 1783, "gl_RNA_Seq" = 1044, "Ato_gl&Elav_gl" = 794, "Ato_gl&Spa_gl" = 693, "Ato_gl&gl_RNA_Seq" = 142, "Elav_gl&Spa_gl" = 1092, "Elav_gl&gl_RNA_Seq" = 219, "Spa_gl&gl_RNA_Seq" = 171, "Ato_gl&Elav_gl&Spa_gl" = 409, "Ato_gl&Elav_gl&gl_RNA_Seq" = 79, "Ato_gl&Spa_gl&gl_RNA_Seq" = 63, "Elav_gl&Spa_gl&gl_RNA_Seq" = 106, "Ato_gl&Elav_gl&Spa_gl&gl_RNA_Seq" = 37)

jolars commented 1 year ago

There is no guarantee that the resulting diagram is exact, at least not with more than 4 sets. But please try to use ellipses and see if that solves your issue (shape = "ellipse").