Adjusts x-coordinates (and optionally xmin/xmax) to dodge overlapping points or ranges in grouped plots.
dodge_positions(
datapoints,
dodge,
fixed.dodge = TRUE,
cols = NULL,
settings = NULL
)Modified datapoints data frame with dodged positions.
Data frame containing plot data with at least x and by
columns.
Adjustment parameter for dodging overlapping points or ranges in grouped plots along the x-axis (or y-axis for flipped plots). Either:
numeric value in the range [0,1). Note that values are scaled
relative to the spacing of x-axis breaks, e.g. dodge = 0.1 places the
outermost groups one-tenth of the way to adjacent breaks, dodge = 0.5
places them midway between breaks, etc. Values < 0.5 are recommended.
logical. If TRUE, the dodge width is calculated automatically based on
the number of groups (0.1 per group for 2-4 groups, 0.45 for 5+ groups). If
FALSE or 0, no dodging is performed.
Default value is 0 (no dodging). While we do not check, it is strongly recommended that dodging only be used in cases where the x-axis comprises a limited number of discrete breaks.
Logical. If FALSE (default), dodge positions are
calculated independently for each x value, based only on the groups
present at that position. If TRUE, dodge positions are based on all
groups, ensuring "fixed" spacing across x-axis breaks (i.e., even if some
groups are missing for a particular x value).
Character vector of column names to dodge. If NULL (default),
automatically detects and dodges x, xmin, and xmax if they exist.
Environment containing plot settings. If NULL (default),
retrieved from the calling environment.
When fixed.dodge = TRUE, all groups are dodged by the same amount across all
x values, which is useful when x is categorical. When fixed.dodge = FALSE,
dodging is calculated independently for each x value, which is useful when
the number of groups varies across x values.
If cols is not specified, the function automatically dodges x and any
xmin/xmax columns that exist in the data.