jolars / eulerr

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

missing overlaps using eulerr #93

Open dgcovell opened 2 years ago

dgcovell commented 2 years ago

Not sure whether I am using this tool properly, but here is what I am getting:

list_euler <- c("agc" = 9, "camk" = 17, "cmgc" = 16, "tk" = 16, "tkl" = 23, "agc&camk" = 1, "camk$tk" = 1, "tk&tkl" = 1, "camk&cmgc&tkl" = 1, "camk&tk&tkl" = 2, "agc&camk&tk&tkl" = 1, "camk&cmgc&tk&tkl" = 3, "agc&camk&cmgc&tk&tkl" = 1) fit <- euler(list_euler, shape="ellipse")

fit (zeros deleted)

agc 9 9 0 0.012 camk 17 17 0 0.023 cmgc 16 16 0 0.021 tk 16 16 0 0.021 tkl 23 23 0 0.030 camk$tk 1 0 1 0.011 agc&camk 1 0 1 0.011 camk&cmgc&tkl 1 0 1 0.011 camk&tk&tkl 2 0 2 0.022 agc&camk&tk&tkl 1 0 1 0.011 camk&cmgc&tk&tkl 3 0 3 0.033 agc&camk&cmgc&tk&tkl 1 0 1 0.011

diagError: 0.033 stress: 0.013

The plot generates 5 non-overlapping ellipses. I see from other comments that small numbers are excluded. If I have made a mistake in entering the input, please let me know. If there is a way to display overlaps I would be thankful. Note that the numbers are taken directly from UpSetR.

Regards, David Covell, Ph.D. NIH,NCI

jolars commented 2 years ago

There are no guarantees that the resulting fit is perfect. Please see https://github.com/jolars/eulerr/issues/80, https://github.com/jolars/eulerr/issues/54, etc.

jolars commented 2 years ago

If I am to guess, the problem with this example is that the intersections are so small relative to the non-intersecting parts, so it becomes very difficult to find a configuration with these intersections but without the non-existing ones.

jolars commented 2 years ago

I've looked into this a bit more and there actually seems to be an inconsistency here, because the fit is often worse using ellipses than it is with circles, which shouldn't happen. I'll reopen this issue and see if I can figure out what's going on.