geom_daynight {ggdaynight} | R Documentation |
Add Day/Night Pattern to ggplot
Description
Adds a day/night pattern to a ggplot object. Daytime is represented by rectangles filled with the specified 'day_fill' color and nighttime by rectangles filled with the specified 'night_fill' color. The pattern is created along the x-axis, which must be a datetime variable.
Usage
geom_daynight(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE,
day_fill = "white",
night_fill = "grey30",
sunrise = 6,
sunset = 18,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
The statistical transformation to use on the data for this layer.
When using a
|
position |
A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The
|
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
day_fill |
The fill color for daytime rectangles. Defaults to "white". |
night_fill |
The fill color for nighttime rectangles. Defaults to "grey30". |
sunrise |
The hour at which daytime starts. Defaults to 6 (6 AM). |
sunset |
The hour at which nighttime starts. Defaults to 18 (6 PM). |
... |
Additional arguments passed to 'geom_rect'. |
Value
A ggplot2 layer representing the day/night pattern.
Examples
# Basic usage with default parameters
library(ggplot2)
ggplot(daynight_temperature, aes(datetime, temperature)) +
geom_daynight() +
geom_point()
# Basic usage with faceting by sensor
ggplot(daynight_temperature, aes(datetime, temperature)) +
geom_daynight() +
geom_point() +
facet_wrap(vars(sensor))
# Usage with lines and color by sensor
ggplot(daynight_temperature, aes(datetime, temperature, color = sensor)) +
geom_daynight() +
geom_line()
# Custom day and night fill colors, custom sunrise and sunset times, and adjusted alpha
ggplot(daynight_temperature, aes(datetime, temperature, color = sensor)) +
geom_daynight(
day_fill = "yellow", night_fill = "blue",
sunrise = 5, sunset = 20, alpha = 0.5
) +
geom_line(linewidth = 1)