Title: | Add Day/Night Patterns to 'ggplot2' Plots |
---|---|
Description: | It provides a custom 'ggplot2' geom to add day/night patterns to plots. It visually distinguishes daytime and nighttime periods. It is useful for visualizing data that spans multiple days and for highlighting diurnal patterns. |
Authors: | Gabriel S. Pires [aut, cre, cph]
|
Maintainer: | Gabriel S. Pires <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.1.3.9000 |
Built: | 2025-02-16 05:01:38 UTC |
Source: | https://github.com/gabrielslpires/ggdaynight |
A dataset containing temperature readings from multiple sensors over a specified period.
daynight_temperature
daynight_temperature
## 'daynight_temperature' A data frame with 1833 rows and 3 columns:
Sensor identifier (e.g., A, B)
Timestamp of the reading (POSIXct format)
Temperature reading in degrees Celsius
Sensor readings collected on 2024-04-23 in Campinas-SP, Brazil.
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.
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, ... )
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, ... )
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'. |
A ggplot2 layer representing the day/night pattern.
# 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)
# 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)