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 '14 at 21:06
  • 1
    You can try to draw them with geogebra[geogebra.org/] and export the TikZ code. – Surb Dec 24 '14 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 '14 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 '14 at 22:06
  • That sounds like a more interesting question. Have you tried anything with decorations? – A.Ellett Dec 24 '14 at 22:27

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.