| MakeBreaks | R Documentation |
Functions that return functions suitable to use as the breaks argument in
ggplot2's continuous scales and in geom_contour_fill.
Modifies a breaks function to compute breaks using a trimmed range of the data to avoid extreme outliers stretching the scale.
MakeBreaks(binwidth = NULL, bins = 10, exclude = NULL)
AnchorBreaks(anchor = 0, binwidth = NULL, exclude = NULL, bins = 10)
robust_breaks(breaks = MakeBreaks(), quantiles = c(0.02, 0.98))
binwidth |
width of breaks |
bins |
number of bins, used if |
exclude |
a vector of breaks to exclude |
anchor |
anchor value |
breaks |
A function that takes the range of the data and binwidth as input and returns the the breaks as output. |
quantiles |
Numeric vector of length 2, sorted in ascending order,
with values between 0 and 1 representing the quantiles of |
MakeBreaks is essentially an export of the default way
ggplot2::stat_contour makes breaks.
AnchorBreaks makes breaks starting from an anchor value and covering
the range of the data according to binwidth.
A function that takes a range as argument and a binwidth as an optional argument
and returns a sequence of equally spaced intervals covering the range.
For robust_breaks, a function to use as breaks argument in contour geoms.
It takes a data frame containing a column z, binwidth and bin
arguments and returns a numeric vector of breaks, possibly including
-Inf and Inf.
Other ggplot2 helpers:
WrapCircular(),
geom_arrow(),
geom_contour2(),
geom_contour_fill(),
geom_label_contour(),
geom_relief(),
geom_streamline(),
guide_colourstrip(),
map_labels,
reverselog_trans(),
scale_divergent,
scale_longitude,
stat_na(),
stat_subset()
my_breaks <- MakeBreaks(10)
my_breaks(c(1, 100))
my_breaks(c(1, 100), 20) # optional new binwidth argument ignored
MakeBreaks()(c(1, 100), 20) # but is not ignored if initial binwidth is NULL
# One to one mapping between contours and breaks
library(ggplot2)
binwidth <- 20
ggplot(reshape2::melt(volcano), aes(Var1, Var2, z = value)) +
geom_contour(aes(color = after_stat(level)), binwidth = binwidth) +
scale_color_continuous(breaks = MakeBreaks(binwidth))
#Two ways of getting the same contours. Better use the second one.
ggplot(reshape2::melt(volcano), aes(Var1, Var2, z = value)) +
geom_contour2(aes(color = after_stat(level)), breaks = AnchorBreaks(132),
binwidth = binwidth) +
geom_contour2(aes(color = after_stat(level)), breaks = AnchorBreaks(132, binwidth)) +
scale_color_continuous(breaks = AnchorBreaks(132, binwidth))
# Sample data with extremes
surface <- reshape2::melt(volcano)
surface$value[sample(nrow(surface), 20)] <- 1000
# With regular breaks the outliers stretch the scale
# and prevent seeing the variability of the bulk of the data
ggplot(surface, aes(Var1, Var2, z = value)) +
geom_contour_fill()
# Robust breaks removes those points from the break
# computation and allow to see the variability
ggplot(surface, aes(Var1, Var2, z = value)) +
geom_contour_fill(breaks = robust_breaks())
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.