Skip to contents

This function creates a Venn diagram using the eulerr package to visualize intersections across multiple sets (up to ~5). Supports both GenomicOverlapsResult and SetOverlapsResult objects.

Usage

plotVenn(
  overlap_object,
  labels = FALSE,
  legend = "right",
  fill = c("#2B70AB", "#FFB027", "#3EA742", "#CD3301", "#9370DB", "#008B8B", "#D87093"),
  quantities = list(type = "counts"),
  ...
)

Arguments

overlap_object

A GenomicOverlapsResult or SetOverlapsResult object returned by computeOverlaps.

labels

Logical. Whether to show set labels on the diagram. Default is FALSE.

legend

Position of the legend ("right", "top", "bottom", etc.) or FALSE to disable.

fill

A character vector of fill colors for the sets.

quantities

How to display intersection quantities (passed to plot.euler). Can be:

  • logical: TRUE shows default counts, FALSE hides them.

  • vector: custom text labels (defaults to original values from euler()).

  • list: advanced options (as in grid::grid.text()). Use type to control format, combining "counts" and/or "percent" (e.g., c("counts","percent") prints counts followed by percentages in brackets). Default: list(type = "counts").

...

Additional arguments passed to plot.euler.

Value

A Venn diagram plot generated by eulerr.

Examples

# Example with gene sets (built-in dataset)
data(gene_list)
res_sets <- computeOverlaps(gene_list)
plotVenn(res_sets)


# Example with genomic regions (built-in dataset)
data(a549_chipseq_peaks)
res_genomic <- computeOverlaps(a549_chipseq_peaks)
plotVenn(res_genomic)