I wrote a javascript library a while back that can do this: venn.js . It produces this output on the dataset you gave: Its in javascript, but Kent Russell has provided a htmlwidgets interface to call it from R. Code to produce this is: // define set sizes and their...

python,matplotlib,venn-diagram

Assuming you are using builtin Python set objects, it is very simple to obtain the intersection between two sets. See this example: >>> a = set(range(30)) >>> b = set(range(25,50)) >>> a.intersection(b) set([25, 26, 27, 28, 29]) ...

javascript,svg,d3.js,venn-diagram

It looks as though you can rearrange their positions by switching around what order you declare the sets. Working jsfiddle var sets = [ {sets: ['F'], size: 3}, {sets: ['G'], size: 3}, {sets: ['C'], size: 3}, {sets: ['G','C'], size: 1}, {sets: ['F','C'], size: 1}, {sets: ['F','G'], size: 1}, {sets: ['F','G','C']}...

You have a syntax error in your javascript, this line "{sets: ['E'], size: 301}" should have a comma after it - adding the comma and it produces output like: ...

To complete my comment, you can create your own function by modifying a bit the original function, like this: draw.quintuple.venn_mod <- function (area1, area2, area3, area4, area5, n12, n13, n14, n15, n23, n24, n25, n34, n35, n45, n123, n124, n125, n134, n135, n145, n234, n235, n245, n345, n1234, n1235, n1245,...

The library(VennDiagram) package doesn't behave as you might expect it to behave. You might have a table: A1 A2 Overlap 1 1 2 And you want the two venn diagram to reflect 1 in the left circle, 1 in the right circle and 2 in the overlap. Running this code:...