Learn R Programming

tinyplot (version 0.6.0)

dodge_positions: Dodge positions for grouped data

Description

Adjusts x-coordinates (and optionally xmin/xmax) to dodge overlapping points or ranges in grouped plots.

Usage

dodge_positions(
  datapoints,
  dodge,
  fixed.dodge = TRUE,
  cols = NULL,
  settings = NULL
)

Value

Modified datapoints data frame with dodged positions.

Arguments

datapoints

Data frame containing plot data with at least x and by columns.

dodge

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.

fixed.dodge

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).

cols

Character vector of column names to dodge. If NULL (default), automatically detects and dodges x, xmin, and xmax if they exist.

settings

Environment containing plot settings. If NULL (default), retrieved from the calling environment.

Details

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.