Type: | Package |
Title: | Add Day/Night Patterns to 'ggplot2' Plots |
Version: | 0.1.3 |
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. |
License: | MIT + file LICENSE |
Encoding: | UTF-8 |
LazyData: | true |
URL: | https://github.com/GabrielSlPires/ggdaynight |
BugReports: | https://github.com/GabrielSlPires/ggdaynight/issues |
Imports: | ggplot2, grid |
Depends: | R (≥ 2.10) |
RoxygenNote: | 7.3.1 |
Suggests: | testthat (≥ 3.0.0), vdiffr |
Config/testthat/edition: | 3 |
NeedsCompilation: | no |
Packaged: | 2024-05-22 17:48:25 UTC; gabriel |
Author: | Gabriel S. Pires |
Maintainer: | Gabriel S. Pires <gabriel.slpires@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2024-05-23 07:10:09 UTC |
GeomDayNight
Description
A ggproto object for creating a day/night pattern geom in ggplot2.
Usage
GeomDayNight
Format
An object of class GeomDayNight
(inherits from Geom
, ggproto
).
Details
This geom creates a pattern along the x-axis of a ggplot2 plot, distinguishing between daytime and nighttime using rectangles filled with specified colors.
Create Day/Night Pattern Data
Description
Generates a data frame representing daytime and nighttime periods based on a sequence of datetime values.
Usage
daynight_table(min_datetime, max_datetime, sunrise, sunset)
Arguments
min_datetime |
The starting datetime value (POSIXct format). |
max_datetime |
The ending datetime value (POSIXct format). |
sunrise |
The hour at which daytime starts. |
sunset |
The hour at which nighttime starts. |
Value
A data frame with columns datetime
and daytime
,
where datetime
represents the datetime values and daytime
is a logical indicating whether the time is during the day.
Sensor Temperature Data
Description
A dataset containing temperature readings from multiple sensors over a specified period.
Usage
daynight_temperature
Format
## 'daynight_temperature' A data frame with 1833 rows and 3 columns:
- sensor
Sensor identifier (e.g., A, B)
- datetime
Timestamp of the reading (POSIXct format)
- temperature
Temperature reading in degrees Celsius
Source
Sensor readings collected on 2024-04-23 in Campinas-SP, Brazil.
Draw Day/Night Pattern on Panel
Description
Internal function to draw the day/night pattern on the ggplot2 panel.
Usage
draw_panel_daynight(
data,
panel_params,
coord,
day_fill,
night_fill,
sunrise,
sunset
)
Arguments
data |
The data to be displayed. |
panel_params |
The parameters of the panel. |
coord |
The coordinate system. |
day_fill |
The fill color for daytime rectangles. |
night_fill |
The fill color for nighttime rectangles. |
sunrise |
The hour at which daytime starts. |
sunset |
The hour at which nighttime starts. |
Value
A gList object containing the grobs for the day/night pattern.
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)