5

I can make 2 and 3 circles with matplotlib_venn. Any possible to plot Venn diagram more than 3?

In my case I have 6 set of data and try to plot Venn diagram with 6 circles

Ed Smith
  • 12,716
  • 2
  • 43
  • 55
Naravut Suvannang
  • 187
  • 1
  • 4
  • 11
  • 2
    How would you obtain 2^6 = 64 regions by intersecting 6 circles? This is topologically impossible. – Julien Jul 14 '16 at 05:37
  • In theory you could consider other shapes besides circles and somehow organize them to show a considerable number of intersections (I doubt you could do all 63, but perhaps you could still get many of them). However this would not make much sense as a means of visualization. – KT. Jul 16 '16 at 14:11
  • 6 sets with triangles: http://www.combinatorics.org/Surveys/ds5/VennTriangleEJC.html, 7 sets with arbitrary shape (but near constant intersection area): http://moebio.com/research/sevensets/. Of course areas are fixed in these cases. – rwst Aug 26 '19 at 07:37

2 Answers2

1

I don't think so. The matplotlib-venn documentation says:

The package provides four main functions: venn2, venn2_circles, venn3 and venn3_circles.

Where venn2 is used to "draw a two-circle venn diagram" and venn3 is used to "draw a three-circle area-weighted venn diagram".

Holger
  • 86
  • 2
  • 3
  • Yes, at the moment the library only supports 3 circles max. I am planning to add 4-ellipse unweighted diagram at some point [I am the developer of that library], but 6 is way out of scope for the foreseeable future. Note that a 6-area diagram would require showing 63 different intersections and even if it would be possible to represent using circles (which it isn't), it would most probably not be at all useful as a visualization tool - even a 4-ellipse diagram looks overwhelming already and not informative. Perhaps you should consider other visualization options altogether. – KT. Jul 16 '16 at 14:03
  • @KT.: Five is possible, at least for some values: https://xkcd.com/2122/ But I doubt that is extendable to more arbitrary values... – Graipher Mar 15 '19 at 14:18
1

The venn package can handle up to 6 rings, see https://pypi.org/project/venn/

5norre
  • 748
  • 7
  • 9