% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/sec-axis-text.R
\name{sec_axis_text}
\alias{sec_axis_text}
\title{Secondary axis optimised for text annotations}
\usage{
sec_axis_text(
  breaks = ggplot2::waiver(),
  labels = ggplot2::derive(),
  name = NULL,
  guide = ggplot2::guide_axis(theme = theme_sec_axis_text()),
  ...
)
}
\arguments{
\item{breaks}{One of:
\itemize{
\item \code{NULL} for no breaks
\item \code{\link[ggplot2:waiver]{ggplot2::waiver()}} (default) to inherit breaks from the primary axis
\item A numeric vector of break positions
\item A function that takes the scale limits as input and returns break
positions (e.g. \verb{\\(x) mean(c(x[2], 32))})
}}

\item{labels}{One of:
\itemize{
\item \code{\link[ggplot2:sec_axis]{ggplot2::derive()}} (default) to derive labels from \code{breaks}
\item A character vector of labels, the same length as \code{breaks}
\item A function that takes break positions as input and returns labels
}}

\item{name}{The name of the secondary axis. Use \code{\link[ggplot2:waiver]{ggplot2::waiver()}} to
derive the name from the primary axis, or \code{NULL} (default) for no name.}

\item{guide}{A guide object used to render the axis. Defaults to
\code{\link[=guide_sec_axis_text]{guide_sec_axis_text()}}, which uses \code{\link[=theme_sec_axis_text]{theme_sec_axis_text()}} to
make transparent ticks and lines by default.}

\item{...}{Additional arguments passed to \code{\link[ggplot2:sec_axis]{ggplot2::dup_axis()}}.}
}
\value{
A \code{AxisSecondary} object for use in the \code{sec.axis} argument of
\code{scale_x_continuous()} or \code{scale_y_continuous()}.
}
\description{
Secondary axis optimised for text annotations
}
\examples{
library(ggplot2)
library(dplyr)

set_theme(
  ggrefine::theme_grey(
    panel_heights = rep(unit(50, "mm"), 100),
    panel_widths = rep(unit(75, "mm"), 100),
  )
)

mtcars |>
  ggplot(aes(x = wt, y = mpg, colour = as.factor(gear), fill = as.factor(gear))) +
  scale_colour_discrete(palette = blends::multiply(get_theme()$palette.colour.discrete)) +
  #clip = "off" is required for axis_text, axis_ticks and axis_bracket
  coord_cartesian(clip = "off") +
  #reference lines and shade
  ggscribe::reference_line(xintercept = 2.4) +
  ggscribe::reference_line(yintercept = 12)  +
  ggscribe::panel_shade(
    xmin = 4,
    xmax = 5,
  ) +
  #top axis
  scale_x_continuous(
    sec.axis = ggscribe::sec_axis_text(
      breaks = c(mean(c(4, 5))),
      labels = c("Range"),
      guide = ggscribe::guide_sec_axis_text(
        angle = 90,
      )
    )
  ) +
  ggscribe::axis_bracket(
    position = "top",
    breaks = c(4, 5),
  ) +
  ggscribe::axis_text(
    position = "top",
    breaks = c(2.4),
    labels = c("Threshold"),
  ) +
  #right axis
  ggscribe::axis_text(
    position = "right",
    breaks = 12,
    labels = "Threshold",
  ) +
  #'geom
  geom_point() +
  #annotations fit plot
  theme(plot.background = element_rect(colour = "grey92"))

}
\seealso{
\code{\link[=guide_sec_axis_text]{guide_sec_axis_text()}}, \code{\link[=theme_sec_axis_text]{theme_sec_axis_text()}}, \code{\link[=axis_text]{axis_text()}}
}
