% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/scale-z.R
\name{scale_z_continuous}
\alias{scale_z_continuous}
\title{Continuous z-axis scale for 3D plots}
\usage{
scale_z_continuous(
  name = waiver(),
  breaks = waiver(),
  minor_breaks = waiver(),
  n.breaks = NULL,
  labels = waiver(),
  limits = NULL,
  expand = waiver(),
  oob = scales::censor,
  na.value = NA_real_,
  transform = "identity",
  guide = "none",
  ...
)
}
\arguments{
\item{name}{The name of the scale, used as the axis title. Use \code{waiver()} for
the default, or \code{NULL} to omit the title.}

\item{breaks}{One of:
\itemize{
\item \code{NULL} for no breaks
\item \code{waiver()} for the default breaks
\item A numeric vector of positions
\item A function that takes the limits as input and returns breaks as output
}}

\item{minor_breaks}{One of:
\itemize{
\item \code{NULL} for no minor breaks
\item \code{waiver()} for the default minor breaks
\item A numeric vector of positions
\item A function that takes the limits as input and returns minor breaks as output
}}

\item{n.breaks}{An integer guiding the number of major breaks. The algorithm
may choose a slightly different number to ensure nice break labels.}

\item{labels}{One of:
\itemize{
\item \code{NULL} for no labels
\item \code{waiver()} for the default labels
\item A character vector giving labels (must be same length as breaks)
\item A function that takes the breaks as input and returns labels as output
}}

\item{limits}{A numeric vector of length two providing limits of the scale.
Use \code{NA} to refer to the existing minimum or maximum.}

\item{expand}{For position scales, a vector of range expansion constants used to add some
padding around the data to ensure that they are placed some distance away from the axes.}

\item{oob}{One of:
\itemize{
\item Function that handles limits outside the scale limits (out of bounds).
\item \code{scales::censor} for replacing out of bounds values with \code{NA}
\item \code{scales::squish} for squishing out of bounds values into range
}}

\item{na.value}{Missing values will be replaced with this value.}

\item{transform}{The name of a transformation object or the object itself. Default is "identity",
but works with standard transform options such as "log10", "sqrt", and "reverse",
detailed in the documentation for \code{\link[ggplot2:scale_x_continuous]{ggplot2::scale_x_continuous()}}.}

\item{guide}{A function used to create a guide or its name. Since z-axis guides are not
yet supported, this defaults to \code{"none"}.}

\item{...}{Other arguments passed on to \code{continuous_scale()}.}
}
\value{
A ggplot2 scale object for the z aesthetic.
}
\description{
\code{scale_z_continuous} creates a continuous scale for the z aesthetic in 3D plots.
It works similarly to \code{scale_x_continuous} and \code{scale_y_continuous}, providing
control over axis breaks, labels, limits, and transformations for the z dimension.
}
\examples{
# Custom breaks, labels, and limits
ggplot(mtcars, aes(mpg, wt, z = qsec)) +
  geom_point() +
  scale_z_continuous(
    breaks = c(15, 17, 19, 21),
    labels = c("Fast", "Medium", "Slow", "Very Slow"),
    limits = c(10, NA)) +
  coord_3d()

# Works with standard scale transformations like "reverse", "log10", etc.
ggplot(mtcars, aes(mpg, wt, z = qsec)) +
  geom_point() +
  scale_z_continuous(transform = "reverse") +
  coord_3d()

}
\seealso{
\code{\link{zlim}} for a shorthand way to set z-axis limits,
\code{\link{coord_3d}} for the 3D coordinate system

Other 3D scale functions:
\code{\link[=scale_z_discrete]{scale_z_discrete()}},
\code{\link[=zlim]{zlim()}}
}
\concept{3D scale functions}
