I'm trying to reproduce the following Venn diagrams in TikZ:

Venn diagram for 4 sets:

Venn diagram for 4 sets

Venn diagram for 5 sets:

Venn diagram for 5 sets

Venn diagram for 6 sets:

Venn diagram for 6 sets

  • 1
    No offense but these don't look like Venn diagrams anymore, but maybe intellectually some value to some... regarding the drawing you can use the round cap, opacity<1 and draw thick lines with the appropriate blend mode. Or just filled arcs. Note that you don't have a question yet.
    – percusse
    Dec 24, 2014 at 21:06
  • 1
    You can try to draw them with geogebra[geogebra.org/] and export the TikZ code.
    – Surb
    Dec 24, 2014 at 21:18
  • I've always thought of Venn diagrams as a learning tool to aid students in thinking about sets and their interrelations. The beauty of Venn diagrams lies in their simplicity and ease of understanding. However, these diagrams (particular for 5 and 6 sets) get increasingly obfuscatory: completely counter to this philosophy. I would start by asking, why do I need these diagrams? and do these diagrams improve the ability of the reader to understand the material?
    – A.Ellett
    Dec 24, 2014 at 21:51
  • 1
    I agree that this diagrams are not so easy to understand, but we can't do the Venn diagram for 4 sets with convex sets in $R^2$. And here is one interesting question from TikZ point of view : how to draw the $\epsilon$ neighborhood of a path ?
    – Kpym
    Dec 24, 2014 at 22:06
  • That sounds like a more interesting question. Have you tried anything with decorations?
    – A.Ellett
    Dec 24, 2014 at 22:27

1 Answer 1


I don't know what it should look like (I'm colorblind so everything looks OK to me) but here is the second one. Ifyour viewer can handle it play with the blend mode parameter for different effects.


\begin{tikzpicture}[mys/.style={pink!80,fill opacity=0.5,draw=black }]
\begin{scope}[transparency group]
\begin{scope}%[blend mode=hue]
\fill[mys] ( 90:.6) circle (1);
\fill[mys] (210:.6) circle (1);
\fill[mys] (330:.6) circle (1);
\draw[orange,line width=0.5cm,cap=round,opacity=.5] (330:.6) +(-1,0) arc (180:0:1);
\draw[yellow!75!blue,line width=0.25cm,cap=round,opacity=.5] 
(330:.6) +(-0.75,0) arc (180:0:0.75) arc(180:360:0.25) arc (0:180:1.25);

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .