Default line types based on a set supplied by Richard Pearson,
University of Manchester. Continuous values can not be mapped to
line types unless scale_linetype_binned()
is used. Still, as linetypes has
no inherent order, this use is not advised.
scale_linetype(..., na.value = "blank")
scale_linetype_binned(..., na.value = "blank")
scale_linetype_continuous(...)
scale_linetype_discrete(..., na.value = "blank")
Arguments passed on to discrete_scale
palette
A palette function that when called with a single integer
argument (the number of levels in the scale) returns the values that
they should take (e.g., scales::hue_pal()
).
breaks
One of:
limits
One of:
NULL
to use the default scale values
A character vector that defines possible values of the scale and their order
A function that accepts the existing (automatic) values and returns new ones. Also accepts rlang lambda function notation.
drop
Should unused factor levels be omitted from the scale?
The default, TRUE
, uses the levels that appear in the data;
FALSE
uses all the levels in the factor.
na.translate
Unlike continuous scales, discrete scales can easily show
missing values, and do so by default. If you want to remove missing values
from a discrete scale, specify na.translate = FALSE
.
aesthetics
The names of the aesthetics that this scale works with.
scale_name
The name of the scale that should be used for error messages associated with this scale.
name
The name of the scale. Used as the axis or legend title. If
waiver()
, the default, the name of the scale is taken from the first
mapping used for that aesthetic. If NULL
, the legend title will be
omitted.
labels
One of:
guide
A function used to create a guide or its name. See
guides()
for more information.
super
The super class to use for the constructed scale
The linetype to use for NA
values.
base <- ggplot(economics_long, aes(date, value01))
base + geom_line(aes(group = variable))
base + geom_line(aes(linetype = variable))
# See scale_manual for more flexibility
# Common line types ----------------------------
df_lines <- data.frame(
linetype = factor(
1:4,
labels = c("solid", "longdash", "dashed", "dotted")
)
)
ggplot(df_lines) +
geom_hline(aes(linetype = linetype, yintercept = 0), size = 2) +
scale_linetype_identity() +
facet_grid(linetype ~ .) +
theme_void(20)