This vignette serves as a gallery for Euler diagrams and as a showcase of the various options for customization that are available.

Sets intersecting inside other sets. This example also exemplifies how the automatic label adjustment algorithm (borrowed from the excellent **ggrepel** package) works.

```
russian_doll <- euler(c("A" = 15, "B" = 0, C = 0,
"A&B" = 10, "A&C" = 0, "B&C" = 0,
"A&B&C" = 5))
plot(russian_doll,
labels = c(
"A long and complicated\nlabel that is likely to have to be repelled",
"Another, very\ntall label that\nprobably will intrude\ninto other\nlabels",
"The spectacle before us\nwas indeed sublime")
)
```

This set relationship is taken from Wilkinson et al.Â It works best with ellipses.

```
wilkinson <- euler(c(A = 4, B = 6, C = 3, D = 2, E = 7, F = 3,
"A&B" = 2, "A&F" = 2, "B&C" = 2, "B&D" = 1,
"B&F" = 2, "C&D" = 1, "D&E" = 1, "E&F" = 1,
"A&B&F" = 1, "B&C&D" = 1),
shape = "ellipse")
plot(wilkinson,
labels = list(fontfamily = "serif"),
edges = list(lty = 3),
quantities = list(type = "percent",
font = 3))
```

A combination taken from the eulerAPE article.

```
uniform <- euler(c("A" = 10, "B" = 10, "C" = 10, "D" = 10,
"A&B" = 3, "A&C" = 3, "A&D" = 0, "B&C" = 0, "B&D" = 3, "C&D" = 3,
"A&B&C" = 1, "A&B&D" = 1, "A&C&D" = 1, "B&C&D" = 1,
"A&B&C&D" = 1))
plot(uniform, labels = list(labels = c("Frodo", "Sam", "Merry", "Pippin"),
font = 1:4,
col = 1:4,
cex = seq(1, 1.5, length.out = 4)))
```