Position labels outside JamPolygon
Usage
label_outside_JamPolygon(
jp,
which_jp = NULL,
center = NULL,
buffer = -0.1,
distance = 0.1,
center_method = c("bbox", "label"),
vector_method = c("label", "farthest"),
segment_method = c("nearest", "vector"),
min_degrees = 15,
relative = TRUE,
y_snap_percent = 5,
seed = 123,
debug = FALSE,
do_plot = FALSE,
verbose = FALSE,
...
)
Arguments
- jp
JamPolygon
- which_jp
integer
orNULL
; whenwhich_jp
contains one or moreinteger
values, they refer to rows injp
, and each will be analyzed in sequence. Whenwhich_jp=NULL
then all the polygons injp
will be analyzed in sequence.- center
numeric
vector or matrix with two values indicating the center position. Whencenter=NULL
then the center is determined using a method defined bycenter_method
.- buffer
numeric
buffer, default -0.1, inside the polygon used to draw a line segment connecting the label to the appropriate polygon.- distance
numeric
value, default 0.1, indicating the distance from the perimiter ofjp
to place labels. This value is thebuffer
forbuffer_JamPolygon()
.- center_method
character
string indicating the method to determine thecenter
:"label"
uses the mean x,y coordinate of all the polygon label positions;"bbox"
uses the mean x,y coordinate of the bounding box that encompasses the polygons.
The effect is to extend outer labels radially around this center point. Using the mean label position with
center_method="label"
is helpful because it ensures labels are extended in all directions even when most labels are in one upper or lower section of thesp
polygons.- min_degrees
numeric
, default 15, minimum degrees spacing to impose between label positions, oriented around the center. When there are more labels than can be divided, the threshold is automatically lowered proportionally.- relative
logical
whether distance and buffer are relative to plot dimensions, default TRUE.- y_snap_percent
numeric
percent of the plot dimensions used to decide whether to "snap" two labels to the same y-axis value. Default 5 means any labels within 5 percent of the plot dimensions of one or more other labels will use the mean y-axis value, thereby helping align labels by height where appropriate.- seed
numeric
used to set the random seed for reproducibility, viaset.seed()
. Default is 123.- debug
logical
whether to print detailed debug information.- do_plot
logical
whether to create a plot with the inputjp
and corresponding labels and line segments assigned towhich_jp
. Default is FALSE.- verbose
logical
whether to print verbose output.- ...
additional arguments are ignored.
See also
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_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()
Examples
v <- venndir(make_venn_test(n_sets=3), do_plot=FALSE)
jps <- v@jps
# plot visual summary
label_outside_JamPolygon(jps, do_plot=TRUE)