\documentclass{article} \usepackage{venndiagram} \begin{document} $ \mathcal{U} \setminus (\mathcal{A} \cup \mathcal{B} \cup \mathcal{C})$: \begin{venndiagram3sets} \fillNotABC \end{venndiagram3sets} $ \mathcal{B} \setminus \mathcal{A} $ \begin{venndiagram2sets} \fillOnlyB \end{venndiagram2sets} No frame: \begin{venndiagram2sets}[showframe=false] \fillOnlyB \end{venndiagram2sets} Using the labels: \begin{venndiagram3sets}[labelOnlyA={1},labelOnlyB={2},labelOnlyC={3}, labelOnlyAB={4},labelOnlyAC={5},labelOnlyBC={6},labelABC={7}, labelNotABC={8}] \end{venndiagram3sets} Annotating the diagram: \begin{venndiagram3sets}[labelOnlyA={1},labelOnlyB={2},labelOnlyC={3}, labelOnlyAB={4},labelOnlyAC={5},labelOnlyBC={6},labelABC={7}, labelNotABC={8}] \setpostvennhook { \draw[<-] (labelA) -- ++(135:3cm) node[above] {Students who eat artichokes}; \draw[<-] (labelB) -- ++(45:3cm) node[above] {Students who eat broccoli}; \draw[<-] (labelC) -- ++(-90:3cm) node[below] {Students who eat carrots}; \draw[<-] (labelABC) -- ++(0:3cm) node[right,text width=4cm,align=flush left] {7 students eat artichokes, broccoli and carrots}; \draw[<-] (labelNotABC) -- ++(-135:3cm) node[below,text width=4cm,align=flush left] {8 students don't eat artichokes, broccoli or carrots}; } \end{venndiagram3sets} \end{document}