Get Venn shapes as polygon_list
get_venn_polygon_shapes(
counts,
proportional = FALSE,
sep = "&",
circles_only = FALSE,
circle_nudge = NULL,
rotate_degrees = 0,
return_type = c("JamPolygon"),
...
)
integer
vector whose names represent set overlaps,
where set names are separated by sep
delimiter.
logical
indicating whether to create proportional
circles, where proportional=FALSE
creates standard Venn diagram,
and proportional=TRUE
creates a Euler diagram.
character
delimiter used to separate set names in
names(counts)
.
logical
indicating whether to force Venn
4-way diagram to use only circles; or passed to eulerr::euler()
to force it to return circles instead of allowing ellipse shapes.
list
of numeric
vectors each length 2, whose
names match set names derived from counts
. For example if
counts=c(set_A=5, set_B=10, "setA&set_B"=3)
, then to nudge
the set_A
circle, use circle_nudge=list(set_A=c(1, 0))
.
This argument is intended to allow manipulation of specific
circle or ellipse positions for aesthetic effects. Particularly
for proportional Euler diagrams, sometimes the algorithm places
circles in non-ideal locations
numeric
value indicating rotation in degrees
for the entire set of shapes. This argument is intended to
change the overall orientation, for example so that certain
sets are at the top.
additional arguments are ignored.
list
in polygon_list format with "x"
and "y"
elements,
or when return_type="JamPolygon"
it returns JamPolygon
.
This function takes a Venn overlap counts and creates corresponding circles or ellipses that represent either a Venn diagram, or proportional Venn (Euler) diagram.
For non-proportional Venn diagrams, this function accepts up to 5 sets, although the 5-way Venn diagram is not visually intuitive.
For proportional Euler diagrams, this function simply passes
the count vector to eulerr::euler()
and returns the output.
That function accepts more sets, however not all overlaps may
be represented in the output.
Other venndir polygons:
simple_ellipse()
counts <- c(A=1, B=2, `A&B`=3, C=4)
venn_colors <- colorjam::rainbowJam(3, alpha=0.5);
vjp <- get_venn_polygon_shapes(counts, return_type="JamPolygon")
plot(vjp, fill=venn_colors)
vjp <- get_venn_polygon_shapes(counts,
return_type="JamPolygon",
proportional=TRUE)
plot(vjp, fill=venn_colors)