UpSet.js has a basic support for classical Venn and Euler diagrams for two or three sets.

```
# devtools::install_url("https://github.com/upsetjs/upsetjs_r/releases/latest/download/upsetjs.tar.gz")
library(upsetjs)
```

```
listInput <- list(one = c("a", "b", "c", "e", "g", "h", "k", "l", "m"), two = c("a",
"b", "d", "e", "j"), three = c("a", "e", "f", "g", "h", "i", "j", "l", "m"))
w <- upsetjsVennDiagram() %>%
fromList(listInput) %>%
interactiveChart()
w
```

Euler diagrams are based on venn.js thus supporting more than three sets but might result in unexpected results

```
we <- upsetjsEulerDiagram() %>%
fromList(listInput) %>%
interactiveChart()
we
```

not possible to define since the number of sections in the Venn diagrams are fixed

provided as a different function: `chartVennLabels`

```
upsetjsVennDiagram() %>%
fromList(listInput) %>%
chartVennLabels(title = "Chart Title", description = "this is a long chart description")
```