Skip to contents

[Questioning] These are similar the the normal axis guides for position scales, but also place tickmarks at minor break positions. The function is questioned due to a possible migration of guide functions after ggplot2 releases a new guide system.


  title = waiver(),
  check.overlap = FALSE,
  angle = NULL, = 1,
  order = 0,
  colour = NULL,
  color = NULL,
  trunc_lower = NULL,
  trunc_upper = NULL,
  position = waiver()



A character string or expression indicating a title of guide. If NULL, the title is not shown. By default (waiver()), the name of the scale object or the name specified in labs() is used for the title.


silently remove overlapping labels, (recursively) prioritizing the first, last, and middle labels.


Compared to setting the angle in theme() / element_text(), this also uses some heuristics to automatically pick the hjust and vjust that you probably want.

The number of rows (for vertical axes) or columns (for horizontal axes) that should be used to render the labels. This is useful for displaying labels that would otherwise overlap.


Used to determine the order of the guides (left-to-right, top-to-bottom), if more than one guide must be drawn at the same location.

colour, color

A character(1) with a valid colour for colouring the axis text, axis ticks and axis line. Overrules the colour assigned by the theme.

trunc_lower, trunc_upper

The lower and upper range of the truncated axis:

  • NULL to not perform any truncation.

  • A function that takes the break positions as input and returns the lower or upper boundary. Note that also for discrete scales, positions are the mapped positions as numeric.

  • A numeric value in data units for the lower and upper boundaries.

  • A unit object.


Where this guide should be drawn: one of top, bottom, left, or right.


An axis_minor guide class object.

Theme elements

This axis guide uses the following the theme elements:


An rel() object to set the size of minor ticks relative to the length of major ticks (axis.ticks.length). Defaults to rel(2/3).


# Using the minor breaks axis
p <- ggplot(iris, aes(Sepal.Width, Sepal.Length)) +
p + scale_y_continuous(guide = "axis_minor")

# Minor break positions are still controlled by the scale
p + scale_y_continuous(guide = "axis_minor",
                       minor_breaks = seq(4, 8, by = 0.2))

# Minor tick length is controlled relative to major ticks
p + scale_y_continuous(guide = "axis_minor") +
  theme(ggh4x.axis.ticks.length.minor = rel(0.1))