Declarative-API equivalent of hd_spec() for venn and euler diagrams.
Wraps a pre-built set list inside an hd_spec object so it can be passed
to hd_make() using the same spec / opts / hd_make() pattern as every
other highdir geometry.
Arguments
- sets
A non-empty list of set entries built with
hd_venn_set()andhd_venn_intersect(), or raw named lists following the format:list(sets = list("A"), name = "Label", value = 5).
Usage with hd_make()
sets <- list(
hd_venn_set("A", "Oslo", 120),
hd_venn_set("B", "Bergen", 95),
hd_venn_intersect(c("A","B"), 40)
)
spec_v <- hd_spec_venn(sets)
opts_v <- hd_opts(title = "City overlap")
# Declarative API - identical pattern to every other geom
hd_make(spec_v, "venn", opts_v) # highcharter
hd_make(spec_v, "venn", opts_v, backend = "static") # ggplot2Compared to the composable API
Both approaches produce identical output. Use whichever fits your workflow:
# Declarative (hd_spec / hd_opts / hd_make)
hd_make(hd_spec_venn(sets), "venn", hd_opts(title = "City overlap"))
# Composable (hd / + / hd_geom_venn)
hd(backend = "dynamic") +
hd_geom_venn(sets = sets) +
hd_opts(title = "City overlap")Examples
# \donttest{
sets <- list(
hd_venn_set("A", "Oslo", value = 120),
hd_venn_set("B", "Bergen", value = 95),
hd_venn_intersect(c("A", "B"), value = 40)
)
spec_v <- hd_spec_venn(sets)
opts_v <- hd_opts(title = "City overlap")
hd_make(spec_v, "venn", opts_v)
hd_make(spec_v, "venn", opts_v, backend = "static")
hd_make(hd_spec_venn(sets), "venn", hd_opts(title = "City overlap"))
# }
