Venndir class
This object is intended to contain all the required data to produce a venndir figure. The components in this object can be edited.
Slots:
jps: JamPolygon
containing the set and overlap polygons.
Columns "x"
,"y"
contain polygon coordinates, see
JamPolygon-class
for details on multi-part polygons, and polygons
with holes.
The polygon type is defined with column type
and values
"set"
or "overlap"
.
The "set" polygons are intended to be the full circle for each
set, but may be NA
or NULL
to indicate the set is empty.
The "overlap" polygons are expected to be contained inside
"set" polygons, and each overlap polygon may be multi-polygons
with or without holes.
For example, the "set" polygon for set_A
which is a circle fully
contained inside another set set_B
.
The "overlap" polygon for set_A
would be empty, since there is no
region unique to set_A
.
However the "overlap" polygon set_A&set_B
would contain the full circle defined by "set" polygon set_A
.
Lastly the "overlap" polygon for set_B
would be a circle with a hole
located at "overlap" set_A&set_B
.
or ellipse. The overlap polygons are polygons, possibly multi-part
with or without holes, or may be NA
or NULL
to indicate that
this overlap does not have a corresponding polygon.
The name
column contains set or overlap
names, where multiple sets are concatenated with "&"
by default.
or ellipse corresponding to each set in setlist
), and the overlap
polygons. Where an overlap does not exist, the polygon coordinates
will be empty, or will have entirely NA
values for "x" and "y".
label_df: data.frame
which contains information about
Venn labels placement and content.
It should contain one row for each Venn overlap.
When data contains signed overlaps, each overlap is sub-divided
by the combination of overlap signs, with one row per overlap and
overlap signs.
Overlap signs are summarized based upon argument overlap_type
,
see signed_overlaps()
.
"overlap_sign"
represents the combination of overlap name,
and the overlap sign across all sets.
"text"
indicates the count label to be displayed.
"venn_counts"
indicates the numeric number of Venn overlaps
in each row.
"item"
should be a list
that contains character
vectors
of items in each overlap set. Column "item"
is optional.
"nsets"
indicates the number of sets involved in the overlap.
"x"
, "y"
represent the label coordinate to use inside
each polygon overlap. When the label is displayed outside the polygon,
the values "x_offset"
and "y_offset"
are added to "x"
and "y"
,
respectively. In this way, a line segment can be drawn from the outer
label back to the corresponding polygon.
"color"
indicates the color for each label. Note the
actual color may be modified based upon the background fill color
to maximize the contrast and visibility of the color. For example
blue on a dark background is displayed as light blue.
"fontsize"
indicates the base font size, prior to any
optional adjustment with font_cex
.
"fill"
indicates an optional color fill behind the count
label. When NULL
(default) there is no color fill. This value
is usually populated by argument label_style
which is passed to
venndir_label_preset()
.
"border"
indicates an optional border around count labels,
and is handled similar to "fill"
.
"padding"
, "padding_unit"
, "r"
, and "r_unit"
are
used with gridtext::richtext_grob()
to define padding around count
labels, and optional rounded corners when border is displayed.
Other columns are intended for internal use by render_venndir()
and are not yet fully editable.
setlist: list
with the setlist
used to create the Venn overlaps.
Previously this data could be inferred from label_df
which was
tedious, and required column "item"
which is optional.
That said, setlist
can be an empty list()
.
metadata: list
with optional metadata, intended for future
expansion, such as plot title.
Other JamPolygon:
JamPolygon-class
,
[,JamPolygon,ANY,ANY,ANY-method
,
add_orientation_JamPolygon()
,
area_JamPolygon()
,
bbox_JamPolygon()
,
buffer_JamPolygon()
,
check_JamPolygon()
,
check_Venndir()
,
eulerr_to_JamPolygon()
,
farthest_point_JamPolygon()
,
find_venn_overlaps_JamPolygon()
,
has_point_in_JamPolygon()
,
intersect_JamPolygon()
,
label_fill_JamPolygon()
,
label_outside_JamPolygon()
,
label_segment_JamPolygon()
,
labelr_JamPolygon()
,
minus_JamPolygon()
,
nearest_point_JamPolygon()
,
nudge_JamPolygon()
,
plot.JamPolygon()
,
point_in_JamPolygon()
,
polyclip_to_JamPolygon()
,
polygon_circles()
,
polygon_ellipses()
,
sample_JamPolygon()
,
split_JamPolygon()
,
union_JamPolygon()
,
update_JamPolygon()